相关疑难解决方法(0)

尽管包括math.h,但在C中对pow()的未定义引用

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

我对一个简单的单一课程有一点问题,这让我很困惑.

基本上,我要编写一个程序,除其他外,它计算给定半径的球体积.我以为我会使用该pow()函数而不是简单地使用r*r*r,对于额外的布朗尼点,但编译器一直给我以下错误:

未定义引用'pow'colle2:错误:ld返回1退出状态

我的代码如下所示:

#include <math.h>

#define PI 3.14159265 //defines the value of PI

/* Declare the functions */
double volumeFromRadius(double radius);

/* Calculate the volume of a sphere from a given radius */
double volumeFromRadius(double radius) {
    return (4.0/3.0) * PI * pow(radius,3.0f);
}
Run Code Online (Sandbox Code Playgroud)

我正在用命令编译 gcc -o sphere sphere.c

这在uni的Windows机器上的code :: blocks中编译并运行良好,但在家里的Fedora 17上,命令行编译器拒绝运行.任何想法将不胜感激!

祝福,伊恩

c

69
推荐指数
1
解决办法
13万
查看次数

我如何将<math.h>库添加到cmake?

我在我的源代码中包含了math.h库.但我无法编译.错误:**未定义引用'sqrt'**未定义引用'atan'

如何将"math.h"添加到cmakelists.txt?

cmake clion

4
推荐指数
1
解决办法
7183
查看次数

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

可能重复:
在C中使用pow()的问题
未定义的对pow&#39; 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.

c gcc pow

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

c ×2

clion ×1

cmake ×1

gcc ×1

pow ×1