Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 添加boost日志依赖项时出现未定义的引用错误_C++_Boost - Fatal编程技术网

C++ 添加boost日志依赖项时出现未定义的引用错误

C++ 添加boost日志依赖项时出现未定义的引用错误,c++,boost,C++,Boost,我正在尝试添加boost日志功能 但是我在未定义的引用中有很多错误 D:\c++\boost_1_58_0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link-static\threading-multi/libboost_log-mgw51-mt-d-1_58.a(core.o): In function `boost::thread_specific_ptr<boost::log::v2s_mt_nt5::core::implementat

我正在尝试添加boost日志功能

但是我在
未定义的引用
中有很多错误

D:\c++\boost_1_58_0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link-static\threading-multi/libboost_log-mgw51-mt-d-1_58.a(core.o): In function `boost::thread_specific_ptr<boost::log::v2s_mt_nt5::core::implementation::thread_data>::~thread_specific_ptr()':
D:\c++\boost_1_58_0/./boost/thread/tss.hpp:79: undefined reference to `boost::detail::set_tss_data(void const*, boost::shared_ptr<boost::detail::tss_cleanup_function>, void*, bool)'
D:\c++\boost_1_58_0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link-static\threading-multi/libboost_log-mgw51-mt-d-1_58.a(core.o): In function `boost::thread_specific_ptr<boost::log::v2s_mt_nt5::core::implementation::thread_data>::get() const':
D:\c++\boost_1_58_0/./boost/thread/tss.hpp:84: undefined reference to `boost::detail::get_tss_data(void const*)'
D:\c++\boost_1_58_0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link-static\threading-multi/libboost_log-mgw51-mt-d-1_58.a(core.o): In function `boost::thread_specific_ptr<boost::log::v2s_mt_nt5::core::implementation::thread_data>::reset(boost::log::v2s_mt_nt5::core::implementation::thread_data*)':
D:\c++\boost_1_58_0/./boost/thread/tss.hpp:105: undefined reference to `boost::detail::set_tss_data(void const*, boost::shared_ptr<boost::detail::tss_cleanup_function>, void*, bool)'
D:\c++\boost_1_58_0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link-static\threading-multi/libboost_log-mgw51-mt-d-1_58.a(record_ostream.o): In function `get':
D:\c++\boost_1_58_0/./boost/thread/tss.hpp:84: undefined reference to `boost::detail::get_tss_data(void const*)'
D:\c++\boost_1_58_0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link-static\threading-multi/libboost_log-mgw51-mt-d-1_58.a(record_ostream.o): In function `reset':
D:\c++\boost_1_58_0/./boost/thread/tss.hpp:105: undefined reference to `boost::detail::set_tss_data(void const*, boost::shared_ptr<boost::detail::tss_cleanup_function>, void*, bool)'
D:\c++\boost_1_58_0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link-static\threading-multi/libboost_log-mgw51-mt-d-1_58.a(record_ostream.o): In function `get':
D:\c++\boost_1_58_0/./boost/thread/tss.hpp:84: undefined reference to `boost::detail::get_tss_data(void const*)'
D:\c++\boost_1_58_0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link-static\threading-multi/libboost_log-mgw51-mt-d-1_58.a(record_ostream.o): In function `reset':
D:\c++\boost_1_58_0/./boost/thread/tss.hpp:105: undefined reference to `boost::detail::set_tss_data(void const*, boost::shared_ptr<boost::detail::tss_cleanup_function>, void*, bool)'
D:\c++\boost_1_58_0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link-static\threading-multi/libboost_log-mgw51-mt-d-1_58.a(record_ostream.o): In function `~thread_specific_ptr':
D:\c++\boost_1_58_0/./boost/thread/tss.hpp:79: undefined reference to `boost::detail::set_tss_data(void const*, boost::shared_ptr<boost::detail::tss_cleanup_function>, void*, bool)'
D:\c++\boost_1_58_0/./boost/thread/tss.hpp:79: undefined reference to `boost::detail::set_tss_data(void const*, boost::shared_ptr<boost::detail::tss_cleanup_function>, void*, bool)'
D:\c++\boost_1_58_0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link-static\threading-multi/libboost_log-mgw51-mt-d-1_58.a(severity_level.o): In function `void boost::this_thread::at_thread_exit<boost::_bi::bind_t<boost::_bi::unspecified, boost::checked_deleter<unsigned long long>, boost::_bi::list1<boost::_bi::value<unsigned long long*> > > >(boost::_bi::bind_t<boost::_bi::unspecified, boost::checked_deleter<unsigned long long>, boost::_bi::list1<boost::_bi::value<unsigned long long*> > >)':
D:\c++\boost_1_58_0/./boost/thread/detail/thread.hpp:861: undefined reference to `boost::detail::add_thread_exit_function(boost::detail::thread_exit_function_base*)'
D:\c++\boost_1_58_0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link-static\threading-multi/libboost_log-mgw51-mt-d-1_58.a(once_block.o): In function `boost::detail::basic_cv_list_entry::wait(boost::detail::timeout)':
D:\c++\boost_1_58_0/./boost/thread/win32/condition_variable.hpp:94: undefined reference to `boost::this_thread::interruptible_wait(void*, boost::detail::timeout)'
D:\c++\boost_1_58_0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link-static\threading-multi/libboost_log-mgw51-mt-d-1_58.a(thread_id.o): In function `at_thread_exit<boost::log::v2s_mt_nt5::aux::this_thread::(anonymous namespace)::id_storage::deleter>':
D:\c++\boost_1_58_0/./boost/thread/detail/thread.hpp:861: undefined reference to `boost::detail::add_thread_exit_function(boost::detail::thread_exit_function_base*)'
collect2.exe: error: ld returned 1 exit status
D:\c++\boost\u 1\u 58\u 0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link static\threading multi/libboost\u log-mgw51-mt-D-1\u 58.a(core.o):在函数“boost::thread\u specific\u ptr::~thread\u specific\u ptr()”中:
D:\c++\boost\u 1\u 58\u 0//boost/thread/tss.hpp:79:对“boost::detail::set\u tss\u data(void const*,boost::shared\u ptr,void*,bool)”的未定义引用
D:\c++\boost\u 1\u 58\u 0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link static\threading multi/libboost\u log-mgw51-mt-D-1\u 58.a(core.o):在函数“boost::thread\u specific\u ptr::get()const”中:
D:\c++\boost\u 1\u 58\u 0//boost/thread/tss.hpp:84:未定义对“boost::detail::get_tss\u data(void const*)”的引用
D:\c++\boost\u 1\u 58\u 0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link static\threading multi/libboost\u log-mgw51-mt-D-1\u 58.a(core.o):在函数“boost::线程特定的ptr::reset(boost::log::v2s\u mt\u nt5::core::implementation::thread\u data*)”中:
D:\c++\boost\u 1\u 58\u 0//boost/thread/tss.hpp:105:未定义对“boost::detail::set\u tss\u data(void const*,boost::shared\u ptr,void*,bool)”的引用
D:\c++\boost\u 1\u 58\u 0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link static\threading multi/libboost\u log-mgw51-mt-D-1\u 58.a(record_ostream.o):在函数“get”中:
D:\c++\boost\u 1\u 58\u 0//boost/thread/tss.hpp:84:未定义对“boost::detail::get_tss\u data(void const*)”的引用
D:\c++\boost\u 1\u 58\u 0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link static\threading multi/libboost\u log-mgw51-mt-D-1\u 58.a(record\u ostream.o):在函数“reset”中:
D:\c++\boost\u 1\u 58\u 0//boost/thread/tss.hpp:105:未定义对“boost::detail::set\u tss\u data(void const*,boost::shared\u ptr,void*,bool)”的引用
D:\c++\boost\u 1\u 58\u 0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link static\threading multi/libboost\u log-mgw51-mt-D-1\u 58.a(record_ostream.o):在函数“get”中:
D:\c++\boost\u 1\u 58\u 0//boost/thread/tss.hpp:84:未定义对“boost::detail::get_tss\u data(void const*)”的引用
D:\c++\boost\u 1\u 58\u 0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link static\threading multi/libboost\u log-mgw51-mt-D-1\u 58.a(record\u ostream.o):在函数“reset”中:
D:\c++\boost\u 1\u 58\u 0//boost/thread/tss.hpp:105:未定义对“boost::detail::set\u tss\u data(void const*,boost::shared\u ptr,void*,bool)”的引用
D:\c++\boost\u 1\u 58\u 0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link static\threading multi/libboost\u log-mgw51-mt-D-1\u 58.a(record\u ostream.o):在函数`~thread\u specific\u ptr'中:
D:\c++\boost\u 1\u 58\u 0//boost/thread/tss.hpp:79:对“boost::detail::set\u tss\u data(void const*,boost::shared\u ptr,void*,bool)”的未定义引用
D:\c++\boost\u 1\u 58\u 0//boost/thread/tss.hpp:79:对“boost::detail::set\u tss\u data(void const*,boost::shared\u ptr,void*,bool)”的未定义引用
D:\c++\boost\u 1\u 58\u 0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link static\threading multi/libboost\u log-mgw51-mt-D-1\u 58.a(严重性等级0):在函数“void boost::this\u thread::at\u thread::at\u thread\u exit(boost:\u bi::bind\u t)”中:
D:\c++\boost\u 1\u 58\u 0//boost/thread/detail/thread.hpp:861:对“boost::detail::add\u thread\u exit\u function(boost::detail::thread\u exit\u function\u base*)的未定义引用
D:\c++\boost\u 1\u 58\u 0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link static\threading multi/libboost\u log-mgw51-mt-D-1\u 58.a(once\u block.o):在函数`boost::detail::basic\u cv\u list\u entry::wait(boost::detail::timeout)`
D:\c++\boost\u 1\u 58\u 0//boost/thread/win32/condition\u变量。hpp:94:未定义对“boost::this\u thread::interruptable\u wait(void*,boost::detail::timeout)”的引用
D:\c++\boost\u 1\u 58\u 0\bin.v2\libs\log\build\gcc-mingw-5.1.0\debug\link static\threading multi/libboost\u log-mgw51-mt-D-1\u 58.a(thread\u id.o):在函数“at\u thread\u exit”中:
D:\c++\boost\u 1\u 58\u 0//boost/thread/detail/thread.hpp:861:对“boost::detail::add\u thread\u exit\u function(boost::detail::thread\u exit\u function\u base*)的未定义引用
collect2.exe:错误:ld返回了1个退出状态
我的链接库如下所示

我的
include
声明如下


另外,我的boost
include
文件夹位于主
x86_64-w64-mingw32
include文件夹中,在Windows 10下,Cygwin GCC安装程序中出现相同错误。除了boost_日志和boost_日志设置之外,我还必须分别链接boost_线程

-lboost_log_setup -lboost_log -lboost_thread

我使用的是BOOST 1.66。

我不认为这是我们的问题,但BOOST log实际上有两个链接器库,
BOOST_log
库,您已经链接到了,但也有
BOOST_log_设置
。我从未声称这是您的问题。虽然我确实忘记了添加
设置
库,但也许可以尝试更改链接顺序,以便在boost\u日志之后链接boost\u线程。@melak47:是的,这看起来像是