I would like to test the Boost.Log library. Unfortunately, I get link errors.
I use Arch Linux, and I installed Boost headers and libraries via built-in package manager pacman
:
When compiling the simple example from official site via g++ log.cpp -lboost_log -lpthread
, I get the following errors:
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()'
...
I've read Why my application fails to link with Boost.Log?, but I couldn't solve the link errors. It only gives me the hint that the library where boost::log::v2s_mt_posix::trivial::logger::get()
is in was linked statically. But under directory /usr/lib/
there are only dynamically linked Boost libraries with extension .so
.
Maybe, someone has a clue what's going wrong here.
Thank you.
You need to define BOOST_LOG_DYN_LINK:
g++ -DBOOST_LOG_DYN_LINK blog.cpp -lboost_log -lpthread
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With