簡體   English   中英

帶有命名空間的Boost.Log錯誤

[英]c++ - Boost.Log error with namespaces

嘗試構建使用Boost :: library的下一個程序,並嘗試創建一個新的記錄器:

#include <string>
#include <boost/log/core.hpp>
#include <boost/log/trivial.hpp>
#include <boost/log/expressions.hpp>

class TestClass
{    
     ...        
     boost::log::sources::logger lg;
};

用於構建此文件的我的Cmake文件:

set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)

find_package(Boost 1.63.0
             COMPONENTS system
                        filesystem
                        log
                        log_setup
                        thread
                        unit_test_framework
             REQUIRED)

include_directories(SYSTEM ${Boost_INCLUDE_DIRS})

file(GLOB PROJECT_SOURCES sources/*.cpp
                          sources/configuration/*.cpp)
file(GLOB PROJECT_HEADERS sources/*.h
                          sources/configuration/*.h)

add_executable(${PROJECT_NAME}
               ${PROJECT_SOURCES}
               ${PROJECT_HEADERS})
target_link_libraries(${PROJECT_NAME}
                      ${Boost_LIBRARIES}
                      Boost::log)

但是在鏈接過程中,我得到下一個錯誤:

error: 'logger' in namespace 'boost::log::v2_mt_nt5::sources' does not name a type
         boost::log::sources::logger log;

為什么將我的命名空間boost::log::sources轉換為boost::log::v2_mt_nt5::sources 如何解決這個問題?

您只是缺少一個include指令:

#include <boost/log/sources/logger.hpp>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM