#include <stdio.h>
#include <math.h>
void main()
{
int i, diff, sum = 0, num1 = 6, num2 = 2;
for(i = 0; i <= 4; i++)
{
diff = num1 - num2;
sum += pow(diff, i);
}
printf("%d", sum);
}每当我试图执行这个程序时,就会弹出一条错误消息:
在函数
main中: 对pow的未定义引用。
我在这里错过了什么?
发布于 2012-10-09 14:23:48
这是链接器故障。您需要链接到数学库,在编译器命令的末尾指定-lm。来自曼普瓦
链接到-lm。
发布于 2012-10-09 14:24:25
数学库不是libc的一部分。你需要把它连接起来:
gcc file.c -lm -o file发布于 2012-10-09 14:26:11
函数pow()在数学库中定义。默认情况下,编译器不会将程序链接到该库,因此链接器无法解析对pow()的调用。
要解决这个问题,您需要在编译/链接行的末尾添加-lm,后者将数学库链接到程序。
https://stackoverflow.com/questions/12802185
复制相似问题