编译出现这样的问题:
/home/minbo/git_root/XChat/chat_room/nroom_manager_server/test/../../../common/build/libcommon.a(RabbitmqProducerAsync.cpp.o): In function `boost::detail::thread_data_base::thread_data_base()':
/usr/local/include/boost/thread/pthread/thread_data.hpp:143: undefined reference to `vtable for boost::detail::thread_data_base'
/home/minbo/git_root/XChat/chat_room/nroom_manager_server/test/../../../common/build/libcommon.a(RabbitmqProducerAsync.cpp.o): In function `boost::thread::start_thread()':
/usr/local/include/boost/thread/detail/thread.hpp:179: undefined reference to `boost::thread::start_thread_noexcept()'
/home/minbo/git_root/XChat/chat_room/nroom_manager_server/test/../../../common/build/libcommon.a(RabbitmqProducerAsync.cpp.o): In function `boost::detail::thread_data<boost::_bi::bind_t<unsigned long, boost::_mfi::mf0<unsigned long, boost::asio::io_service>, boost::_bi::list1<boost::_bi::value<boost::asio::io_service*> > > >::~thread_data()':
/usr/local/include/boost/thread/detail/thread.hpp:90: undefined reference to `boost::detail::thread_data_base::~thread_data_base()'
/home/minbo/git_root/XChat/chat_room/nroom_manager_server/test/../../../common/build/libcommon.a(RabbitmqProducerAsync.cpp.o):(.rodata._ZTIN5boost6detail11thread_dataINS_3_bi6bind_tImNS_4_mfi3mf0ImNS_4asio10io_serviceEEENS2_5list1INS2_5valueIPS7_EEEEEEEE[_ZTIN5boost6detail11thread_dataINS_3_bi6bind_tImNS_4_mfi3mf0ImNS_4asio10io_serviceEEENS2_5list1INS2_5valueIPS7_EEEEEEEE]+0x10): undefined reference to `typeinfo for boost::detail::thread_data_base'
collect2: error: ld returned 1 exit status
make[2]: *** [test_msg_adapter] Error 1
make[1]: *** [CMakeFiles/test_msg_adapter.dir/all] Error 2
make: *** [all] Error 2
解决方式:
错误原因是没有boost_thread库,所有在CMakeLists.txt文件的link_libraries文件中增加boost_thread,即可解决