Linux下gcc 编译器对‘sqrt’未定义的引用、对‘pow’未定义的引用 报错解决
在Linux系统下用gcc编译器编译C程序时
报错如下:
/tmp/cchJksha.o:在函数‘prime’中:
linuxidc.c:(.text+0x11):对‘sqrt’未定义的引用
/tmp/cchJksha.o:在函数‘main’中:
linuxidc.c:(.text+0x9f):对‘pow’未定义的引用
collect2: error: ld returned 1 exit status
注:图片来源于网络
出现这种报错是因为在编译时缺少某个库
需要在编译的时候把库加入
比如这个对‘sqrt’未定义的引用、对‘pow’未定义的引用是缺少math函数库
应该在命令行执行编译命令时加入 -lm
即命令行格式如下(举例):
gcc [文件名].c -o [文件名] -lm
这样编译就不会报错了