Benedikt Benedikt - 1 year ago 111
Linux Question

Boost.Log linking errors under GNU/Linux

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


  • boost 1.54.0-3

  • boost-libs 1.54.0-2

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
is in was linked statically. But under directory
there are only dynamically linked Boost libraries with extension

Maybe, someone has a clue what's going wrong here.

Thank you.

Answer Source

You need to define BOOST_LOG_DYN_LINK:

g++ -DBOOST_LOG_DYN_LINK blog.cpp -lboost_log -lpthread
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download