Undefined reference to 'funzione della mia libreria'

di il
2 risposte

Undefined reference to 'funzione della mia libreria'

Salve a tutti, vorrei il vostro aiuto per quanto riguarda la compilazione in ambiente LINUX di un file .c che usa una libreria da me creata (io personalmente uso UBUNTU).

Allora, ho da poco creato una libreria con 5 funzioni chiamata "complex_library.h", il suo file di implementazione "complex_library.c" e un file "provamain.c" in cui includo in questo modo -> #include "complex_library.h" la libreria creata dal sottoscritto (quest'ultimo file è per controllare attraverso la funzione main se tutto funziona bene..). Nel file "complex_library.c" UTILIZZO LA LIBRERIA math.h. A questo punto, compilando con GCC trovo delle difficoltà perchè qualsiasi cosa faccia mi da uno di questi due errori:
"undefined reference to 'nome funzione della libreria complex_library.h'"
OPPURE
WARNING vari derivati da funzioni della libreria math.h (che sono presenti in complex_library.c), come sin, cos, atan...

Qualcuno può aiutarmi suggerendo la cosa giusta da inserire a linea di comando ?
N.B.: USO LA LIBRERIA math.h NEL FILE SUDDETTO E CREDO CHE SIA QUESTA A CREARMI PROBLEMI DURANTE LA COMPILAZIONE.
Grazie in anticipo a quelli che mi aiuteranno

2 Risposte

  • Re: Undefined reference to 'funzione della mia libreria'

    Ciao, hai inserito nella lista dei file da compilare il file complex_library.c?

    esempio
    $gcc provamain.c complex_library.c -o myComplexLibraryTest
    se non lo hai fatto potrebbe essere quello, altrimenti prova a digitare l'opzione -v di GCC che serve a mostrare un output più preciso di quello che fa il compilatore
  • Re: Undefined reference to 'funzione della mia libreria'

    Ok, GRAZIE MILLE! Dopo aver scritto nel terminale quello che mi avevi consigliato, mi continuava a dare un errore, ma ho risolto aggiungendo -lm per linkare la libreria math.h.

Devi accedere o registrarti per scrivere nel forum
2 risposte