2013-07-03 12 views
5

Sto provando a compilare e utilizzare le librerie Boost 1.54 e ho eseguito un deadend.Riferimento indefinito a Boost Thread

ho compilato e installato le librerie come menzionato nella documentazione:

./bootstrap.sh 
./b2 install 

ho anche provato una reinstallazione completa utilizzando:

./bootstrap.sh 
./b2 threading=multi install 

ho collegato utilizzando -lboost_thread e -L*path per amplificare */bin .v2/libs

Ho ancora i seguenti errori del linker:

undefined reference to boost::thread::start_thread_noexcept() 
undefined reference to boost::thread::join_noexcept() 

Sto usando gcc 4.6.3 su Ubuntu 12.04 in Eclipse.

Qualcuno sa come posso risolvere questo problema?

+0

Che dire '-lboost_system'? –

+0

E 'anche collegato, dal momento che sto usando anche Asio. – Zippo

+0

Puoi mostrare la tua effettiva chiamata al linker? –

risposta

3

Dopo un po 'di dolore con la spinta di default sul repository di Ubuntu, ho installato spinta 1.54.0 (dalla pagina web ufficiale) con le opzioni di default, e il successivo ha lavorato per me:

g++ test.cpp -o test -L/usr/local/lib/ -lboost_thread 

PS : Su Ubuntu 12.04, gcc 4.63.

P.S2: Incluso nel mio test.cpp sono:

#include "boost/thread/thread.hpp" 
#include "boost/bind.hpp" 
Problemi correlati