我有一个可以使用 boost 库的项目,也可以不使用它。我有一个use_boost
可以添加到项目中的属性表,并且设置了 boost 的路径和一个<PreprocessorDefinitions>
带有 value 的标签I_AM_USING_BOOST
。
在代码中我有类似的东西:
#ifdef I_AM_USING_BOOST
#include <boost/any.hpp>
#else
#include <string>
#endif
namespace test
{
#ifdef I_AM_USING_BOOST
using my_defined_type = boost::any;
#else
using my_defined_type = std::string;
#endif
}
因此,如果我不想要带有 boost 的构建,我会删除属性表。如果我想用 boost 构建,我将属性表添加到项目中。
现在,我想构建该库的两种变体:一种使用 boost,一种不使用 boost。
我是否可以拥有一个具有两种不同构建的项目:一个带有 boost,一个没有 boost,但不能手动添加或删除属性表?
我使用批处理文件中的 msbuild 构建。