Связывание с boost_thread не удается в Ubuntu 11.10

Я уже обновился до нового Ubuntu 11.10. Проблема в том, что программное обеспечение, над которым я работаю, больше не связывается. Я нашел эту вики-запись, которая, кажется, описывает проблему. Тем не менее я не могу это исправить. Чтобы воспроизвести проблему, я написал следующую небольшую тестовую программу:

#include 
#include 

void blubb() {
  std::cout << "hello world" << std::endl;
}

int main() {
  boost::thread t(&blubb);
  t.join();
}

Затем я использую следующую команду для компиляции:

g++ -o test -lboost_thread test.cc

Я получаю следующий результат:

/tmp/cc0O0dAC.o: In function `main':
test.cc:(.text+0x49): undefined reference to `boost::thread::join()'
test.cc:(.text+0x55): undefined reference to `boost::thread::~thread()'
test.cc:(.text+0x70): undefined reference to `boost::thread::~thread()'
/tmp/cc0O0dAC.o: In function `boost::detail::thread_data_base::thread_data_base()':
test.cc:(.text._ZN5boost6detail16thread_data_baseC2Ev[_ZN5boost6detail16thread_data_baseC5Ev]+0x24):     undefined reference to `vtable for boost::detail::thread_data_base'
/tmp/cc0O0dAC.o: In function `boost::thread::thread(void (*)(), boost::disable_if >, boost::thread::dummy*>::type)':
test.cc:(.text._ZN5boost6threadC2IPFvvEEET_NS_10disable_ifINS_14is_convertibleIRS4_NS_6detail13thread_move_tIS4_EEEEPNS0_5dummyEE4typeE[_ZN5boost6threadC5IPFvvEEET_NS_10disable_ifINS_14is_convertibleIRS4_NS_6detail13thread_move_tIS4_EEEEPNS0_5dummyEE4typeE]+0x30): undefined reference to `boost::thread::start_thread()'
/tmp/cc0O0dAC.o: In function `boost::detail::thread_data::~thread_data()':
test.cc:(.text._ZN5boost6detail11thread_dataIPFvvEED2Ev[_ZN5boost6detail11thread_dataIPFvvEED5Ev]+0x1f): undefined reference to `boost::detail::thread_data_base::~thread_data_base()'
/tmp/cc0O0dAC.o:(.rodata._ZTIN5boost6detail11thread_dataIPFvvEEE[typeinfo for boost::detail::thread_data]+0x10): undefined reference to `typeinfo for boost::detail::thread_data_base'
collect2: ld returned 1 exit status

Я также попытался добавить -lpthread и -pthread в несколько заказы безуспешно. Эта команда работает без проблем в более старой версии Ubuntu. Что я делаю не так (у меня похожие проблемы с PCRE и Google Protocol Buffers).

Заранее благодарим за любую помощь!

7
задан Markus Pilman 13 October 2011 в 14:27
поделиться