如何通过MSBuild将参数传递给编译器?

时间:2010-06-17 16:05:40

标签: delphi msbuild

我正在使用下面的代码让MSBuild构建Delphi 2010 groupproj:

   MSBuild C:\src\myprojgroup.groupproj  /target:Build /p:config=Release

我无法弄清楚如何修改上面的行,以便我可以传递这个参数

   -EC:\mypath

到编译器(bcc32.exe)。

我花了相当多的时间试图在网上找到这个。 / property:name = value似乎可能是我需要的,但到目前为止还没有。

这是否可行,或者我现在必须了解MSBUILD配置文件......

2 个答案:

答案 0 :(得分:7)

汤姆 -

最简单的方法可能是在IDE中打开项目,在IDE中设置所需的设置,然后保存。

更好的方法是为这些设置设置特定的构建配置,然后使用它。

IDE本身使用MSBuild,因此您在IDE中进行的任何设置都保存在* .DPROJ文件中(或者在您的情况下为GROUPPROJ),因此在执行命令行时,将使用完全相同的设置在IDE中设置。如果对此特定选项集使用特定的构建配置,则只需在命令行上调用该配置,即可获得所需的配置。

在其他更短的单词中:让IDE为您完成工作。

答案 1 :(得分:4)

在Delphi中更改构建配置,或在.DPROJ文件中手动更改。如果您在其中任何一个地方更改了Release配置本身,那就没问题了。

或者,查看.dproj文件并查看调用所需的设置(例如,“IncludePath”或“OutputDir”)。然后,您可以使用msbuild的/属性开关。例如:

msbuild /property:WarningLevel-2;OutputDir=bin\Debug myproj.dproj

您可以在命令窗口提示符中使用以下命令查看这些命令行开关和示例:

msbuild /? | more

从D2007快速检查.dproj文件表明您可能正在寻找DCC_IncludePathDCC_UnitSearchPath属性。