Sto provando a compilare/eseguire il porting di una versione precedente di OpenOffice. Utilizza Boost v1.34.1, che fa parte dell'albero dei sorgenti. Il messaggio di errore è la seguente:Simbolo di potenziamento non trovato
Undefined symbols:
"boost::throw_exception(std::exception const&)", referenced from:
boost::detail::shared_count::shared_count<ScToken>(ScToken*)in detfunc.o
ld: symbol(s) not found
Boost è nuovo per me, e io non sono riuscito a trovare molto in linea di aiutarmi a capire questo. Dal messaggio di errore, capisco che probabilmente ho bisogno di collegare una libreria. Tuttavia, boost::throw_exception
è definito in un file di intestazione senza libreria corrispondente (che posso trovare). Solo per i calci, ho provato #include <boost/throw_exception.hpp>
in detfunc e usando i collegamenti simbolici per mettere il file di intestazione nella stessa directory senza fortuna.
C'è una libreria che dovrei collegare con -l
o un percorso di inclusione con -I
? Come dovrei ottenere il riferimento a quel simbolo?
Grazie! Alla fine ho letto "throw_exception.hpp" e ho già scoperto esattamente cosa hai risposto. Non ero a conoscenza di 'boost/config/compiler /' per i flag del compilatore, ma abbastanza sicuro, 'BOOST_NO_EXCEPTIONS' è stato definito. – Jerry