-1
我有一个项目,可以使用boost库,它也可以不使用它。 我有一个属性表use_boost
,可以添加到项目中,并设置路径提升和<PreprocessorDefinitions>
标签值为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。
我可以有两个不同版本的单个项目:一个有升压,一个没有升压,但不能手动添加或删除属性表?
我使用批处理文件中的msbuild构建。
我不继。你以后如何使用这种类型?使用'std :: string'和'boost :: any'命令的模式非常不同。 – SergeyA
是的,您可以在项目中创建两个不同的目标并为每个目标设置属性。 –
你也可以通过命令行通过msbuild提供属性,使用'/ p: = ' –
Wurmloch