Referencia indefinida a pow () en C, a pesar de incluir math.h

Posible duplicado:
Problema al usar pow () en C
lo que es ‘referencia indefinida a’ pow ”

Estoy teniendo un pequeño problema con un simple trabajo de curso para la universidad que realmente me desconcierta.

Esencialmente, tengo que escribir un progtwig que, entre otras cosas, calcula el volumen de una esfera desde un radio determinado. Pensé que usaría la función pow() lugar de simplemente usar r*r*r , para obtener puntos Brownie adicionales, pero el comstackdor me sigue dando el siguiente error:

referencia no definida a ‘pow’ collect2: error: ld devolvió 1 estado de salida

Mi código se parece a lo siguiente:

 #include  #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); } 

y estoy comstackndo con el comando gcc -o sphere sphere.c

Esto comstack y funciona bien en code :: blocks en las máquinas Windows en uni, pero en mi Fedora 17 en casa, el comstackdor de línea de comandos se niega a ejecutarse. ¡Cualquier pensamiento sería agradecido agradecido!

Bendiciones, Ian

Necesitas enlazar con la biblioteca de matemáticas:

 gcc -o sphere sphere.c -lm 

El error que está viendo: error: ld returned 1 exit status es del vinculador ld (parte de gcc que combina los archivos de objetos) porque no puede encontrar dónde está definida la función pow .

Incluyendo math.h trae la statement de las diversas funciones y no su definición. La definición está presente en la biblioteca de matemáticas libm.a Debe vincular su progtwig con esta biblioteca para que se resuelvan las llamadas a funciones como pow ().