我想测试Boost.Log库,但很遗憾我遇到了链接错误。
我使用的是Arch Linux,并通过内置的软件包管理器pacman
安装了Boost头文件和库:
- boost 1.54.0-3
- boost-libs 1.54.0-2
当我按照官方网站上的简单示例编译 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()'
...
我已经阅读了为什么我的应用程序无法与Boost.Log链接?,但是我无法解决链接错误。它只给了我一个提示,即 boost::log::v2s_mt_posix::trivial::logger::get()
所在的库被静态链接了。但在目录/usr/lib/
下只有扩展名为.so
的动态链接Boost库。
也许,有人知道这里出了什么问题。
谢谢。