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

Avi*_*ane 1 c gcc pow

可能重复:
在C中使用pow()的问题
未定义的对pow' andfloor的引用'

我正在使用gcc 4.6.1.

代码段:

int main(void)
{

 int x= 2;
 int y = pow(3,x);
 printf("%d\n",y);

 return 0;
}
Run Code Online (Sandbox Code Playgroud)

终奌站:

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
Run Code Online (Sandbox Code Playgroud)

如果我将x替换为2,那么它将以预期的方式执行.pow函数不接受变量作为参数吗?

注意:我在源文件中包含了stdio.h和math.h.

rua*_*akh 8

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

gcc power.c -lm -o power
Run Code Online (Sandbox Code Playgroud)

  • 或者更确切地说`gcc power.c -lm -o power`.lib必须在源文件之后. (2认同)