问题
I have a codepad .
On line 15 inside a for function
for(i=2; i<=90; i+=2){
int j=0+i;
printf("%i\n",i);
power=pow(inp,j);
factor=factorial(i);
if(i%4==0)fAns += power/factor;
else fAns -= power/factor;
}
the line power=pow(inp,j);
I added j
instead of just using i
because it gave me the same error. undefined reference to 'pow'
.
If I replace j
with 2, then it works just fine but when I use j=i
it wont work. Is there a problem with incrementing this line?
I want this to increment and not throw me an error.
回答1:
You need to link with the math library. With gcc, this would mean passing -lm
during linking.
The reason it doesn't complain when you use 2
as the exponent value is because the compiler is optimizing the pow
call out.
来源:https://stackoverflow.com/questions/10167714/what-is-undefined-reference-to-pow