gpt4 book ai didi

c++ - 命名空间的 Boost.Log 错误

转载 作者:行者123 更新时间:2023-11-28 05:09:56 25 4
gpt4 key购买 nike

尝试构建下一个使用 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>

关于c++ - 命名空间的 Boost.Log 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43726192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com