2009-08-31 57 views
2

我从生成系统生成VisualStudio C++项目文件。 项目文件的XML中的编译器选项与为编译器指定的命令行选项格式不同。在VisualStudio中生成选项的最佳方法项目文件

我需要从命令行选项来获得cl.exe时为VCCLCompilerTool项目文件的选项。

1 - 有没有人知道开源脚本的设计目的是为了做到这一点?

2 - 如果一个将删除XML的所有选项,并把所有的命令行选项进入“AdditionalOptions”属性,它会过滤这些,或者把一切都放在那里添加到命令行逐字?如果UI中存在选项,“AdditionalOptions”是否会覆盖默认值? (我没有带书面的代理cl.exe时要考什么,它实际上在这种情况下:)

由于得到!!!!

回答

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 
+0

谢谢,是的,属性表适用于分解多个.vcproj共有的东西。它们是.vcproj文件本身的*相同*格式。问题是,“cl.exe”编译器的命令行参数采用了不同的格式。 VStudio有一个从.vcproj格式(XML属性)到命令行格式的内部翻译器,用于它支持的各种工具。我想知道是否有人对.vcproj格式转换器执行了命令行格式,反之亦然,或者是否有可维护的简单方法来执行此操作。 – 2009-09-09 21:25:30

+0

非常有趣。如果我想将openssl的fipslink.pl脚本集成到我的fips兼容exe文件中,我会用宏语言重写perl脚本。谢谢。我希望这很好地支持正则表达式。 – 2010-02-05 22:08:48

+0

如何将.rules文件合并到.vsprops文件中?这里有一个赏金问题在这里:http://stackoverflow.com/questions/1623609/vs2008-add-custom-build-rule-to-a-property-sheet-vsprops – shoosh 2010-03-25 08:24:03

相关问题