oriency 发表于 2007-09-04 15:46

linux中的数学库怎么用不成啦?

代码(test.c)是
#include<stdio.h>
#include<math.h>

int main()
{
       double x;
       x=sin(3.14/2);
       printf("%f\n",x);
}

编译链接:gcc test.c

结果出错:

/tmp/cc2deYU.o(.text+0x28): In function `main':
: undefined reference to `sin'
colletc2: ld returned 1 exit status
(其中/tmp/cc2deYU.o每次编译链接都不一样,好像是随机的一个.o文件)

看来是链接时库的问题。但是math.h是标准库啊,怎么连这个库都用不成了?

本来是用交叉编译的gcc,出现错误,后来用主机的gcc,同样出错。
哪位大虾遇到过这类问题啊?

cjaizss 发表于 2007-09-04 16:39

要加-lm参数才可以链接成功

oriency 发表于 2007-09-04 19:00

原来不是默认的libc库啊!是不是只有libc才是默认的阿?

ngcode 发表于 2007-09-04 22:13

要加参数的吗,回头试试
页: [1]
查看完整版本: linux中的数学库怎么用不成啦?