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>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다