I am trying to use the new Boost.Log library in a project I am working on. The project is built with CMake. I am receiving link errors claiming that the linker has come acro
For CMake 3.15 (and some earlier versions) the following appears to be sufficient to build Boost.Log with CMake without the original linker error:
cmake_minimum_required(VERSION 3.15)
project(boost_log_tutorial)
SET(Boost_USE_STATIC_LIBS ON) # link statically
#ADD_DEFINITIONS(-DBOOST_LOG_DYN_LINK) # or, link dynamically
find_package(Boost 1.69.0 COMPONENTS log REQUIRED)
add_executable(boost_log_tutorial main.cpp)
target_link_libraries(boost_log_tutorial Boost::log_setup Boost::log)
The key things seem to be linking against Boost:log_setup and Boost::log, and specifying either static or dynamic linking with SET(Boost_USE_STATIC_LIBS ON) or ADD_DEFINITIONS(-DBOOST_LOG_DYN_LINK).