2017-11-20 13 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

//注意で定義されている、これは
//をguarenteedされるだけブーストヘッダがこのヘッダを含む、すべてのブーストリリースで変更することです
//再コンパイルするたびに新しいの原因になりますブーストバージョンは
//リリースです。
//
// BOOST_VERSION%100は、メジャーバージョン
// BOOST_VERSION/100%1000はマイナーバージョン
// BOOST_VERSION/100000であるパッチレベルです

シンプルな使用法は次のようになります。

#if BOOST_VERSION >= 106100 
#include <this.hpp> 
#else 
#include <that.hpp> 
#endif 
関連する問題