用于RELEASE的Delphi项目的MSBuild仍设置D +选项

时间:2010-11-09 10:19:21

标签: delphi msbuild delphi-2007

我们正在尝试使用MSBuild构建我们的Delphi 2007项目。在IDE中,我们将所有Buidl配置设置为Debug,其中包括(以及其他)D +选项。

Release版本配置当然关闭了调试选项。

我们使用以下命令行构建项目:

Msbuild /target:Build /property:configuration=Release /clp:NoItemAndPropertyList

生成的DCC命令包含正确的命令参数( - $ D - ):

C:\Program Files (x86)\CodeGear\RAD Studio\5.0\bin\dcc32.exe 
    -B 
    -GD 
    -H- 
    -I <removed for clarity>
    -LE<removed for clarity>
    -LN <removed for clarity>
    -O <removed for clarity>
    -R <removed for clarity>
    -U <removed for clarity>
    --no-config 
    -$C- 
    -$D- 
    -$L- 
    -$Y- 
    -W-   projectname.dpk   

但是当我运行项目时,D +选项打开,因为我的代码在{$ ifopt D +}之后显示一个警告对话框。如果我在IDE中更改活动的Buidl配置,它可以正常工作。所以似乎dcc32仍在从IDE中读取选项而不是命令行覆盖。

有人可以帮我解决这个问题吗?

编辑:现在意识到.dpk明确包含了其编译选项({DEBUGINFO ON})。显然这会覆盖dcc32命令的命令行参数。这可能是我的问题的原因吗? ......以及如何覆盖它们?

1 个答案:

答案 0 :(得分:4)

自己找到答案: - )

.dpk中的显式设置是问题所在,但可以通过将{$更改为{<space>更改来覆盖它们而不会丢失IDE功能。

请参阅以下链接:Compile DPK files using DCC32