有没有办法转换这样的东西:
#define ERROR_LOG_LEVEL 5
进入 msbuild 通过命令行传递到其项目的内容?
msbuild.exe {???}ERROR_LOG_LEVEL=5 target
我读过类似问题的回答,看起来答案是no,只是想仔细检查一下,以防某些天才找到了解决方法。
宏可以通过传递来定义the /D option给编译器。您可以指定/D
使用 MSBuild 的选项AdditionalOptions
of ClCompile
:
<ItemDefinitionGroup>
<ClCompile>
<AdditionalOptions>/DERROR_LOG_LEVEL=5 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
</ItemDefinitionGroup>
如果您希望能够通过调用 msbuild.exe 传递宏的值,您也可以轻松地做到这一点:
<ItemDefinitionGroup Condition="'$(ErrorLogLevel)' != ''">
<ClCompile>
<AdditionalOptions>/DERROR_LOG_LEVEL=$(ErrorLogLevel) %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
</ItemDefinitionGroup>
msbuild.exe 被调用为:
msbuild /p:ErrorLogLevel=5 MyProject.vcxproj
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)