我已经在本地安装了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