是否可以执行以下操作:
branch.prop
:
// excerpt
<PropertyGroup Label="UserMacros">
<Branch>Trunk</Branch>
</PropertyGroup>
另一个属性表common.prop
:
// excerpt
<PropertyGroup>
<OutDir>D:\output\$(Branch)\VW$(VW_VERSION)\$(KN_BUILD)\</OutDir>
<IntDir>D:\output\$(Branch)\VS_Output\$(VW_VERSION)\$(KN_BUILD)\$(ProjectName)\</IntDir>
</PropertyGroup>
问题
问题是,我在项目中同时使用了两个属性表,并且如果显示项目属性,我会看到它显示了正确的输出目录和中间目录(例如'D:\ output \ Trunk \ VW2016 \ Debug \ '),但是当我编译我的项目时,它不起作用,这意味着缺少用户宏,因此日志显示如下行:
Library "D:\output\\VS_Output\2016\Debug\SomeProject\SomeProject.lib" ...
在日志行中注意\\
而不是\Trunk\
!
属性表是否可以与在不同属性表中定义的用户宏一起使用?像嵌套它们之类的东西或其他技巧?
我想避免在每个项目中手动定义输出目录和中间目录(这将起作用)...
不使用替代思路
我为什么需要这个
我需要这个,因为我经常不得不在主干和分支之间切换以创建修补程序,因此由于覆盖中间/输出文件而希望避免较长的构建时间...
答案 0 :(得分:1)
您可以在branch.prop
中导入common.prop
,如下所示:
<ImportGroup Label="PropertySheets" >
<Import Project="branch.prop"/>
</ImportGroup>