2017-11-20 15 views
1

부스트 버전에 따라 부스트 헤더를 포함하는 방법 : https://github.com/boostorg/property_tree/commit/ea940990691de91e9b22255d9b450fcdac237646선택적으로 부스트의 변화 변경할 일부 헤더 파일 위치를 발생

을 내가 이전에, 일부 사용자가 부스트 이전 버전의 빌드 코드베이스 작업입니다 헤더 위치, 예. #include <boost/property_tree/json_parser/error.hpp> 대신 #include <boost/property_tree/detail/json_parser_error.hpp>이 필요합니다. 이전 버전 (1.61 이전 버전)과 최신 버전 모두와의 호환성을 유지하려고합니다.

부스트 버전을 확인하고 버전> = 1.61 인 경우 새로운 헤더 포함을 사용하도록 컴파일러에 지시 할 수있는 방법이 있습니까?

+0

BOOST_VERSION 전 처리기를 확인 했습니까? version.hpp에 정의 된 것 같습니다. – miradham

답변

3

BOOST_VERSION 전 처리기를 찾고 있다고 생각합니다. 그것은 boost\version.hpp

//주의에 정의되어,이
//을 수익을 창출 유일한 부스트 헤더는이 헤더를 포함하여, 모든 부스트 출시와 함께 변경하는 것입니다
// 재 컴파일 때마다 새로운 원인이됩니다 부스트 버전은
//입니다.
//
// BOOST_VERSION % (100)는 주 버전
// BOOST_VERSION/100 % (1000)는 부 버전
// BOOST_VERSION/100000 인 패치 수준이다

간단한 사용법은 다음과 같습니다

#if BOOST_VERSION >= 106100 
#include <this.hpp> 
#else 
#include <that.hpp> 
#endif