编译CAFFE代码时未定义的升压线程参考



我在本地安装了Boost 1.63.0以及Caffe(版本RC3)。我目前正在尝试使用CMAKE编译一些CAFFE代码,但是我会收到以下链接器错误:

/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 )

我的第二个想法是,这与pthreads有关,因此我使用此stackoverflow答案链接到我的cmakelists.txt中的pthreads:cmake和libpthread。但是,这样做后我仍然会遇到相同的错误。

有人对这里的问题有其他建议吗?谢谢。

使用本地安装的Boost 1.63编译Caffe时,源代码构建,使用CMake 3.7,我遇到了类似的问题。Caffe 1.0 CMake文件夹包含Dependencies.cmakeCaffe正在寻找Boost 1.45不是Boost 1.62Boost 1.63Python 3.5.3 CC_11 Ubuntu 17.04启动板分发文件。文件夹中的本地安装的文件libboost_python.solibboost_python.so.1.63.0与文件夹/usr/lib/x86_64-linux-gnu libboost_python-py35.so中的启动板分发文件命名不同。

最新更新