|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jun 2006
Messaggi: 22
|
[C++ - LEDA] Ok compilazione Problemi linkaggio
Ciao a tutti,
sto riutilizzando un vecchio progetto fatto non da me compilato con g++ in ambiente unix che usa anche le librerie di LEDA (spero che qualcuno sappia cosa sia altrimenti cedere qui http://www.algorithmic-solutions.com/leda/index.htm ). Non sono esperto di Linux e quindi, avendo i sergenti, ho ricostruito il progetto con MS Visual c++ 2008 express edition. Lavorando un po' sul codice ho elimintato gli errori di compilazione, ma ho ancora 21 errori di linkaggio. Le librerie di Leda le ho aggiunte(gli errori erano circa 300 all'inizio) ma non riesco a scendere sotto questa soglia. Gli errori sono del tipo: ----- Codice:
dijkstra_k.obj : error LNK2001: unresolved external symbol "void (__cdecl* leda::std_error_handler)(int,char const *)" (?std_error_handler@leda@@3P6AXHPBD@ZA) 1>REA.obj : error LNK2001: unresolved external symbol "void (__cdecl* leda::std_error_handler)(int,char const *)" (?std_error_handler@leda@@3P6AXHPBD@ZA) 1>REA_k.obj : error LNK2001: unresolved external symbol "void (__cdecl* leda::std_error_handler)(int,char const *)" (?std_error_handler@leda@@3P6AXHPBD@ZA) 1>_cnop.obj : error LNK2001: unresolved external symbol "void (__cdecl* leda::std_error_handler)(int,char const *)" (?std_error_handler@leda@@3P6AXHPBD@ZA) 1>_cnop_k.obj : error LNK2019: unresolved external symbol "void (__cdecl* leda::std_error_handler)(int,char const *)" (?std_error_handler@leda@@3P6AXHPBD@ZA) referenced in function __unwindfunclet$?cnop@@YA?AV?$four_tuple@V?$list@PAVedge_struct@leda@@@leda@@NN_N@leda@@AAVgraph@2@ABQAVnode_struct@2@1ABV?$edge_array@NVgraph@leda@@@2@ABV?$array@V?$edge_array@NVgraph@leda@@@leda@@@2@ABV?$array@N@2@ABVchoice@@@Z$0 1>_csp.obj : error LNK2001: unresolved external symbol "void (__cdecl* leda::std_error_handler)(int,char const *)" (?std_error_handler@leda@@3P6AXHPBD@ZA) 1>_csp_k.obj : error LNK2001: unresolved external symbol "void (__cdecl* leda::std_error_handler)(int,char const *)" (?std_error_handler@leda@@3P6AXHPBD@ZA) ....... ... ---- e così via. Non riesco a capire dov'è il problema. Spero possiate darmi una mano e se non sono stato chiaro in alcuni passaggi fatemi sapere così potrò illustrare meglio la situazione. Saluti e grazie in anticipo, Roberto Ultima modifica di cionci : 01-12-2008 alle 12:26. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Devi linkare il .lib di questa libreria LEDA al tuo eseguibile. Trovi la possibilità di farlo nelle opzioni del progetto, nella sezione linker.
|
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Jun 2006
Messaggi: 22
|
Le librerie le ho linkate un po' in tutte le salse. Nel senso che ce ne sono diverse, ma non riesco a capire quale manca e quale no. Figurati che se ne aggiungo alcune gli errori aumentano. Insomma il numero di librerie che ho aggiunto mi ha dato un numero di errori che è il minimo tra tutte quelle che ho inserito. Ho pensato anche che ci possa essere stato un problema con i namespaces. Leda ha un suo namespace e forse usandolo in modo improprio va a sovrascrivere alcune funzioni del namepsace std.
Che ne dici? |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Boh...è difficile da dire, prova a costruire qualche applicazione di esempio con questa libreria e verifica come bisogna fare il linking dalla documentazione.
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:46.