当前位置: 技术问答>linux和unix
为什么这么简单的程序会有问题?
来源: 互联网 发布时间:2015-06-24
本文导语: #include main() { float i; i=100; printf("%f",sqrt(i)); } 出错信息: /tmp/ccB8fPHn.0:In function 'main': /tmp/ccB8fPHn.0(.text+0x28):undefined reference to 'sqrt' collect2:ld returned 1 exit status 为什么把sqrt改成fabs就行呢 | ...
#include
main()
{
float i;
i=100;
printf("%f",sqrt(i));
}
出错信息:
/tmp/ccB8fPHn.0:In function 'main':
/tmp/ccB8fPHn.0(.text+0x28):undefined reference to 'sqrt'
collect2:ld returned 1 exit status
为什么把sqrt改成fabs就行呢
main()
{
float i;
i=100;
printf("%f",sqrt(i));
}
出错信息:
/tmp/ccB8fPHn.0:In function 'main':
/tmp/ccB8fPHn.0(.text+0x28):undefined reference to 'sqrt'
collect2:ld returned 1 exit status
为什么把sqrt改成fabs就行呢
|
注意:在编译数学函数时需要加上-lm选项。你加了吗?
|
你在math.h文件中,找一下有没有定义sqrt
我在自己的环境中(redhat 9.0 gcc 2.6)中,确实没有
我在自己的环境中(redhat 9.0 gcc 2.6)中,确实没有
|
大部分数学函数,连接时都必须加上数学库:libm.a ,即 -lm项。
|
就是库链接的问题啦