我已經在本地安裝了Boost 1.63.0以及Caffe(版本rc3)。目前我正在試圖編譯使用CMake的一些來自Caffe代碼,但我得到下面的連接錯誤:編譯Caffe代碼時未定義的Boost線程參考
/home/local/boost_1_63_0/boost/thread/pthread/once_atomic.hpp:145:
undefined reference to `boost::thread_detail::enter_once_region(boost::once_flag&)'
/home/local/boost_1_63_0/boost/thread/pthread/once_atomic.hpp:157:
undefined reference to `boost::thread_detail::commit_once_region(boost::once_flag&)'
/home/local/boost_1_63_0/boost/thread/pthread/once_atomic.hpp:153:
undefined reference to `boost::thread_detail::rollback_once_region(boost::once_flag&)'
libcpp_stuff_library.a(Log.cpp.o): In function `logging::get_log()':
/home/local/boost_1_63_0/boost/thread/pthread/once_atomic.hpp:145:
undefined reference to `boost::thread_detail::enter_once_region(boost::once_flag&)'
/home/local/boost_1_63_0/boost/thread/pthread/once_atomic.hpp:157:
undefined reference to `boost::thread_detail::commit_once_region(boost::once_flag&)'
/home/local/boost_1_63_0/boost/thread/pthread/once_atomic.hpp:153:
undefined reference to `boost::thread_detail::rollback_once_region(boost::once_flag&)'
collect2: error: ld returned 1 exit status
我首先想到的是,我莫名其妙地聯繫起來,以提高我的CMake文件中的錯誤的方式。眼下,在的CMakeLists.txt,我有:
set(BOOST_ROOT "/home/local/boost_1_63_0")
find_package(Boost 1.6.3 REQUIRED COMPONENTS filesystem system thread)
我的第二個想到的是,這已經是與並行線程,所以我連接到使用這個StackOverflow的答案在我的CMakeLists.txt並行線程:cmake and libpthread。但是,在完成此操作後,我仍然遇到同樣的錯誤。
有沒有人有關於可能是什麼問題的其他建議?謝謝。
你有Cmake> = 3.7嗎? cf http://stackoverflow.com/q/42123509/2799037 – usr1234567
是的,我有CMake版本2.8.12.2。不過好的想法。 – sealonging314
這就是問題所在! – usr1234567