我试图在没有多线程的情况下使用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
,则会收到相同的错误
为什么?
我可以在没有多线程支持的情况下编译我的代码吗?