PDA

View Full Version : [C++ - LEDA] Ok compilazione Problemi linkaggio


bob80
01-12-2008, 09:53
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:
-----
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

cionci
01-12-2008, 13:15
Devi linkare il .lib di questa libreria LEDA al tuo eseguibile. Trovi la possibilità di farlo nelle opzioni del progetto, nella sezione linker.

bob80
01-12-2008, 13:25
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?

cionci
01-12-2008, 13:28
Boh...è difficile da dire, prova a costruire qualche applicazione di esempio con questa libreria e verifica come bisogna fare il linking dalla documentazione.

Hardware Upgrade Forum Database Error
Database Error Database error
The Hardware Upgrade Forum database has encountered a problem.

Please try the following:
  • Load the page again by clicking the Refresh button in your web browser.
  • Open the www.hwupgrade.it home page, then try to open another page.
  • Click the Back button to try another link.
The www.hwupgrade.it forum technical staff have been notified of the error, though you may contact them if the problem persists.
 
We apologise for any inconvenience.