我想测试Boost.Log库.不幸的是,我收到链接错误.
我使用Arch Linux,并通过内置的包管理器安装了Boost头文件和库pacman:
编译从简单的例子,当官方网站通过g++ log.cpp -lboost_log -lpthread,我得到以下错误:
log.cpp:(.text+0x42): undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
log.cpp:(.text+0x9b): undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
...
Run Code Online (Sandbox Code Playgroud)
我读过为什么我的应用程序无法与Boost.Log链接?,但我无法解决链接错误.它只给我一个提示,即所在的库boost::log::v2s_mt_posix::trivial::logger::get()是静态链接的.但是在目录下/usr/lib/,只有动态链接的Boost库具有扩展名.so.
也许,有人知道这里出了什么问题.
谢谢.
小智 14
您需要定义BOOST_LOG_DYN_LINK:
g++ -DBOOST_LOG_DYN_LINK blog.cpp -lboost_log -lpthread
Run Code Online (Sandbox Code Playgroud)