我对一个简单的单一课程有一点问题,这让我很困惑.
基本上,我要编写一个程序,除其他外,它计算给定半径的球体积.我以为我会使用该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上,命令行编译器拒绝运行.任何想法将不胜感激!
祝福,伊恩
我在我的源代码中包含了math.h库.但我无法编译.错误:**未定义引用'sqrt'**未定义引用'atan'
如何将"math.h"添加到cmakelists.txt?
我正在使用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.