은 내가이 샘플부스트 로그 marcro explaination
//[ example_tutorial_trivial
#include <boost/log/trivial.hpp>
int main(int, char*[])
{
BOOST_LOG_TRIVIAL(trace) << "A trace severity message";
BOOST_LOG_TRIVIAL(debug) << "A debug severity message";
BOOST_LOG_TRIVIAL(info) << "An informational severity message";
BOOST_LOG_TRIVIAL(warning) << "A warning severity message";
BOOST_LOG_TRIVIAL(error) << "An error severity message";
BOOST_LOG_TRIVIAL(fatal) << "A fatal severity message";
return 0;
}
그것은 컴파일 할 수 없습니다를 컴파일하고 실행하려고 여기 부스트 로그 튜토리얼 http://boost-log.sourceforge.net/libs/log/doc/html/index.html
을 따랐다. 오류 그리고 내가 다음과 같이 내 코드를 편집 http://pastebin.com/DcLdWGke
로 돌아 : 그것은 준수
이제#define BOOST_LOG_DYN_LINK
//[ example_tutorial_trivial
#include <boost/log/trivial.hpp>
int main(int, char*[])
{
BOOST_LOG_TRIVIAL(trace) << "A trace severity message";
BOOST_LOG_TRIVIAL(debug) << "A debug severity message";
BOOST_LOG_TRIVIAL(info) << "An informational severity message";
BOOST_LOG_TRIVIAL(warning) << "A warning severity message";
BOOST_LOG_TRIVIAL(error) << "An error severity message";
BOOST_LOG_TRIVIAL(fatal) << "A fatal severity message";
return 0;
}
및 부스트 사이트에서이 marcro에 대해 읽어 .I 잘 작동 : 사용자 정의 경우
라이브러리에서 동적으로로드 된 라이브러리 ("dll"또는 "so")로 이진이 으로 작성되었다고 가정합니다. 그렇지 않으면 이라고 가정합니다. 라이브러리는 정적 모드로 작성됩니다. 이 매크로는 로깅을 사용하는 사용자 사용자의 모든 번역 단위에 대해 정의되거나 정의되지 않은 이어야합니다. 이 매크로는 지원하는 플랫폼에서 자동 링크를 도와줍니다.
내 질문은 : 왜 #define BOOST_LOG_DYN_LINK 컴파일해야합니까?
를 사용합니다. 동적 라이브러리로로드해야합니까? –