jueves, 17 de julio de 2008

error undefined reference to 'sqrt'

En la clase de Métodos Numéricos nos pidieron elaborar un programa en C para resolver polinomios con el Método de Müller. Lo hicimos, el detalle surgió cuando compilé el programa, GCC me arrojaba el siguiente error:

undefined reference to 'sqrt'

dicho error es resultado a que GCC no llama directamente a la librería 'math.c' por lo que tenemos que especificar su ubicación.

La solución, es compilar el documento tecleando lo siguiente:


$ gcc archivo.c /usr/lib/libm.a -o archivo


Supongo que con ello se pueden solucionar errores similares, especificando su ubicación, aunque no ha sido probado cuando se presentan varios errores de este tipo ( todavía no me aparecen, jeje ).

3 comentarios:

  1. http://c-faq.com/fp/libm.html

    justo aca se explica el porque sucede esto.

    agregando la libreria m, de maths, explicitandoselo al gcc

    $ gcc prog.c -lm -o prog

    estas listo.

    salud

    ResponderEliminar
  2. Hola.....
    muy buen aporte para los k apenas entramos en esto, bueno pues el error k me salia era el de udefinid reference to sin, lo mismo para cos y para acos.
    sufri mucho buscando una solucion y bueno pues tenias razon, ya compilado y ejecutado, probe tambien la opcion de anonimo pero no me funciono...
    muchas gracias !!!!
    :D

    Aida-KmiZ

    ResponderEliminar
  3. Hola.....
    muy buen aporte para los k apenas entramos en esto, bueno pues el error k me salia era el de udefinid reference to sin, lo mismo para cos y para acos.
    sufri mucho buscando una solucion y bueno pues tenias razon, ya compilado y ejecutado, probe tambien la opcion de anonimo pero no me funciono...
    muchas gracias !!!!
    :D

    Aida-KmiZ

    ResponderEliminar