Boost.Log with CMake causing undefined reference error

后端 未结 3 1601
故里飘歌
故里飘歌 2020-12-14 17:17

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

3条回答
  •  暖寄归人
    2020-12-14 17:45

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

提交回复
热议问题