library instalar drink bibliotecas c++ linux boost

c++ - instalar - Boost.Log vincula errores en GNU/Linux



instalar boost linux (2)

Me gustaría probar la biblioteca Boost.Log. Desafortunadamente, recibo errores de enlace.

Utilizo Arch Linux, e instalé los encabezados y las bibliotecas de Boost a través del gestor de paquetes integrado pacman :

  • impulso 1.54.0-3
  • boost-libs 1.54.0-2

Al compilar el ejemplo simple del sitio oficial a través de g++ log.cpp -lboost_log -lpthread , recibo los siguientes errores:

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()'' ...

He leído ¿Por qué mi aplicación no puede vincularse con Boost.Log? , pero no pude resolver los errores de enlace. Solo me da la pista de que la biblioteca donde boost::log::v2s_mt_posix::trivial::logger::get() está enlazada estáticamente. Pero en el directorio /usr/lib/ solo hay bibliotecas Boost vinculadas dinámicamente con la extensión .so .

Tal vez, alguien tiene una idea de lo que está mal aquí.

Gracias.


Si está usando cmake entonces:

find_package(Boost REQUIRED COMPONENTS system log) target_link_libraries(credential ${Boost_SYSTEM_LIBRARY} ${Boost_LOG_LIBRARY})

y use:

#define BOOST_LOG_DYN_LINK 1