Ant*_*ton 1 c++ boost c-preprocessor
Boost中的此更改导致某些头文件位置发生更改:https : //github.com/boostorg/property_tree/commit/ea940990691de91e9b22255d9b450fcdac237646
我正在使用一个代码库,其中一些用户使用旧版本的boost和旧的标头位置(例如,#include <boost/property_tree/detail/json_parser_error.hpp>而不是较新的)进行构建#include <boost/property_tree/json_parser/error.hpp>。我想保持与旧版本(1.61之前)和较新版本的兼容性。
如果版本> = 1.61,是否有一种方法指示编译器检查boost版本并使用新的头文件include?
我认为您正在寻找BOOST_VERSION预处理器。它在boost\version.hpp
//注意,这是唯一保证
每次Boost版本都会更改的boost头文件,//每次发布
新的boost版本时,此头文件都会导致重新编译
。
//
// BOOST_VERSION%100是补丁程序级别
// BOOST_VERSION / 100%1000是次要版本
// BOOST_VERSION / 100000是主要版本
简单的用法是:
#if BOOST_VERSION >= 106100
#include <this.hpp>
#else
#include <that.hpp>
#endif
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
317 次 |
| 最近记录: |