|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Apr 2008
Messaggi: 86
|
[C]undefined reference to
ciao a tutti, immagino che ci sia qualcuno che si sia trovato davanti allo stesso problema...
praticamente importando la mia "libreria" .h e non c'è niente da fare, mi da l'errore undefined reference to.. sapete per caso come risolverlo? ![]() graziee |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Apr 2008
Messaggi: 86
|
ok,,, anche tu hai ragione
![]() questo è l'errore: Codice:
C:\DOCUME~1\Fede\IMPOST~1\Temp/ccspbaaa.o:ValutaFO.c:(.text+0x4a): undefined reference to `ENopenH@0' C:\DOCUME~1\Fede\IMPOST~1\Temp/ccspbaaa.o:ValutaFO.c:(.text+0x59): undefined reference to `ENinitH@4' C:\DOCUME~1\Fede\IMPOST~1\Temp/ccspbaaa.o:ValutaFO.c:(.text+0x13f): undefined reference to `ENopen@12' C:\DOCUME~1\Fede\IMPOST~1\Temp/ccspbaaa.o:ValutaFO.c:(.text+0x157): undefined reference to `ENsetreport@4' C:\DOCUME~1\Fede\IMPOST~1\Temp/ccspbaaa.o:ValutaFO.c:(.text+0x169): undefined reference to `ENsetreport@4' C:\DOCUME~1\Fede\IMPOST~1\Temp/ccspbaaa.o:ValutaFO.c:(.text+0x17b): undefined reference to `ENsetreport@4' C:\DOCUME~1\Fede\IMPOST~1\Temp/ccspbaaa.o:ValutaFO.c:(.text+0x18d): undefined reference to `ENsetreport@4' C:\DOCUME~1\Fede\IMPOST~1\Temp/ccspbaaa.o:ValutaFO.c:(.text+0x28c): undefined reference to `ENsetpattern@12' C:\DOCUME~1\Fede\IMPOST~1\Temp/ccspbaaa.o:ValutaFO.c:(.text+0x30c): undefined reference to `ENsetlinkvalue@12' C:\DOCUME~1\Fede\IMPOST~1\Temp/ccspbaaa.o:ValutaFO.c:(.text+0x3f4): undefined reference to `ENrunH@4' C:\DOCUME~1\Fede\IMPOST~1\Temp/ccspbaaa.o:ValutaFO.c:(.text+0x459): undefined reference to `ENgetnodevalue@12' C:\DOCUME~1\Fede\IMPOST~1\Temp/ccspbaaa.o:ValutaFO.c:(.text+0x4d9): undefined reference to `ENgetlinkvalue@12' C:\DOCUME~1\Fede\IMPOST~1\Temp/ccspbaaa.o:ValutaFO.c:(.text+0x570): undefined reference to `ENgetlinkvalue@12' C:\DOCUME~1\Fede\IMPOST~1\Temp/ccspbaaa.o:ValutaFO.c:(.text+0x5a4): undefined reference to `ENnextH@4' C:\DOCUME~1\Fede\IMPOST~1\Temp/ccspbaaa.o:ValutaFO.c:(.text+0x5cf): undefined reference to `ENcloseH@0' C:\DOCUME~1\Fede\IMPOST~1\Temp/ccspbaaa.o:ValutaFO.c:(.text+0x5d7): undefined reference to `ENclose@0' collect2: ld returned 1 exit status mentre per quanto riguarda il codice che è un simulatore di reti acquedottistiche che si chiama epanet... ho bisogno di utilizzare tutte le sue funzioni, infatti importo la sua epanet2.h con #include "epanet2.h" è vero che bisogna mettere un tag -L? dove si mette? ![]() grazie |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Se il percorso della libreria non è standard, dì a MinGW di cercarlo anche in <percorso> con:
Codice:
gcc codice.c -L<percorso> Codice:
gcc codice.c -L<percorso> -l<libreria>
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Apr 2008
Messaggi: 86
|
penso ci stiamo avvicinando,
si cmq epanet è una libreria, per fare meglio ho copiato tutti i listati .c nella stessa directory dove lavoro,che è c:\epanet\daTestare sto provandoa fare Codice:
>gcc ValutaFO.c -L<C:\epanet\daTestare\epanet2.h> -l<C:\epanet\daTestare\epanet2.h> -o va aaaaa!!! ![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
LOL! Io ho scritto <libreria> e via dicendo solo per far vedere che l'opzione -l finiva ed iniziava il nome della libreria...
![]() Togli i <> e riprova.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19148
|
Quote:
importare il ".h" non significa affatto includere la libreria nel compilato. non è abbastanza... nel .h trovi i prototipi delle funzioni, le varie macro ecc. ma non c'è codice. la liberia, in fase di linking, va aggiunta a parte (ad esempio con il -l o con qualche opzione del tuo ide) |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:08.