可能重复:
Problem using pow() in C
Undefined reference topow' and
floor'
我正在使用gcc 4.6.1。
代码段:
int main(void)
{
int x= 2;
int y = pow(3,x);
printf("%d\n",y);
return 0;
}
终端
avinash@titanic:~/Desktop/DSF$ gcc power.c -o power
/tmp/ccTJ7vAH.o: In function `main':
power.c:(.text+0x25): undefined reference to `pow'
collect2: ld returned 1 exit status
如果我将x替换为2,那么它将以预期的方式执行。 pow函数不接受变量作为参数吗?
注意:我在源文件中包含了stdio.h和math.h。
答案 0 :(得分:8)
您需要将-lm
命令行开关添加到数学库中的链接(-l...
表示 _ _ library中的链接“; {{1}是数学库):
m
答案 1 :(得分:1)
pow函数是数学库的一部分。因此,编译器的调用应如下所示:
gcc power.c -o power -lm
其中-lm是指示链接器与系统上的数学库进行链接的开关。