gcc 编译器对‘sqrt’未定义的引用
编译包含math.h头文件,调用sqrt()或sqrtf()函数的文件时,报错:

解决办法:
使用gcc编译带有math.h的源文件时,需要gcc *.c -lm,需要链接libm.so
即命令行格式如下:
gcc [文件名].c -o [文件名] -lm
以上命令行格式必须正确执行,否则,依然编译不成功。
案例1:使用简单makefile

失败!!
案例2:使用错误的GCC编译指令

失败!!
案例3:使用错误 格式的GCC编译指令

失败!!
案例4:正确的方式

或者:

(完)

在Linux环境下,使用GCC编译器遇到‘sqrt’未定义的引用错误。解决方法是在编译命令中添加链接数学库-lm,如:`gcc 文件名.c -o 文件名 -lm`。文章通过四个案例展示了错误和正确的编译方式。
4350

被折叠的 条评论
为什么被折叠?



