-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