You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SDL2与C语言开发射线投射迷宫时遇符号未定义编译错误

解决链接错误:undefined reference to 'cos@@GLIBC_2.2.5'

问题原因

cos、sin这类数学函数属于GNU数学库(libm),GCC编译时不会自动链接该库,必须显式指定链接参数,错误提示本质是未链接数学库,而非libm.so.6文件缺失。

修正后的编译命令

在原编译命令末尾添加-lm参数,显式链接数学库:

gcc -Wall -Wextra -Werror -pedantic main.h main.c sdl.c raycast.c input.c -lSDL2 -lm -o movement

额外注意事项

  • 确保代码中已正确包含<math.h>头文件,避免出现编译警告或隐含的未定义行为;
  • Ubuntu 14.04.6默认已预装libm库,无需手动安装。

内容的提问来源于stack exchange,提问作者Ornelle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 10:34:51