Boost.Log是否需要多线程支持(`-lpthread`)?

时间:2016-09-23 10:30:42

标签: c++ multithreading c++11 boost boost-log

我试图在没有多线程的情况下使用Boost.Log一段时间没有成功。现在,我在“配置构建库”中发表了这个声明:

  

日志记录库使用了其他几个需要构建的Boost库。这些是[..], Boost.Thread [...]

是关于构建boost库本身还是构建我的代码?

以下是我的尝试:

#define BOOST_LOG_NO_THREADS

#define BOOST_LOG_DYN_LINK
#define BOOST_ALL_DYN_LINK
#include <boost/log/trivial.hpp>

int main() { BOOST_LOG_TRIVIAL(trace) << "TRACE LOG"; }

我用这种方式编译:

g++ test.c++ -lboost_log -lboost_log_setup

第一个错误:

undefined reference to `boost::log::v2_st::trivial::logger::get()'

然后我的屏幕3/4充满了错误;如果需要,我会发布它们。

如果我使用-lpthread进行编译而没有BOOST_LOG_NO_THREADS定义,则编译正常。

如果我在不删除-lpthread的情况下使用BOOST_LOG_NO_THREADS,则会收到相同的错误 为什么?
我可以在没有多线程支持的情况下编译我的代码吗?

0 个答案:

没有答案