未定义C中电源功能的参考错误

时间:2012-01-26 20:40:43

标签: c gcc pow

  

可能重复:
  Problem using pow() in C
  Undefined reference to pow' andfloor'

我正在使用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。

2 个答案:

答案 0 :(得分:8)

您需要将-lm命令行开关添加到数学库中的链接(-l...表示 _ _ library中的链接“; {{1}是数学库):

m

答案 1 :(得分:1)

pow函数是数学库的一部分。因此,编译器的调用应如下所示:

gcc power.c -o power -lm

其中-lm是指示链接器与系统上的数学库进行链接的开关。