我正在从构建系统生成VisualStudio C ++项目文件。 项目文件的XML中的编译器选项与为编译器指定的命令行选项的格式不同。
我需要从cl.exe的命令行选项到VCCLCompilerTool的项目文件选项。
1 - 是否有人知道设计用于完成此操作的开源脚本?
2 - 如果从XML中删除所有选项并将所有命令行选项放入“AdditionalOptions”属性中,它是否会过滤这些选项,或者将其中的所有内容逐字添加到命令行中?如果UI中有选项,“AdditionalOptions”会覆盖默认值吗? (我没有编写代理cl.exe来测试它在这种情况下实际得到的内容:)
感谢!!!!
答案 0 :(得分:4)
一种解决方案可能是使用Property Sheets(vsprops)。您可以为要使用的每个选项生成一个vsprops文件(这可以从visual studio中的属性表编辑器中完成)。然后在生成的项目文件中引用每个属性表,其中包含您要在InheritedPropertySheets中使用的选项。我们通过将各种选项组合成相关的纸张来做类似的事情。例如,我们使用以下几组属性表:
ARMASM.rules
C++ Standards Compliance.vsprops
Debug Program Database.vsprops
Debug.vsprops
Multi-Threaded Debug Libraries.vsprops
Multi-Threaded Release Libraries.vsprops
Optimize for Size.vsprops
Platform Directory.vsprops
Release.vsprops
Static Library.vsprops
Strictest Warnings.vsprops
Win32.vsprops
WinCE.vsprops