2010-11-09 48 views
2

我们正在尝试使用MSBuild构建我们的Delphi 2007项目。在IDE中,我们将所有Buidl配置设置为使用(其中包括)D +选项进行调试。用于RELEASE的Delphi项目的MSBuild仍然设置D +选项

发布构建配置当然有关闭调试选项。

我们建立与下面的命令行项目:

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命令的命令行参数。这可能是我的问题的原因吗? ...以及如何覆盖它们?

回答

4

找到自己的答案:-)

在.dpk显式设置的问题,但他们也能没有IDE功能损失通过改变{${<space>改变被重写。

请访问以下链接:建立一个可执行文件,你还有从较早版本的Delphi在同一文件夹中的cfg文件时,会发生Compile DPK files using DCC32

+0

同样的问题。感谢您指点我的解决方案! – 2016-10-07 14:35:28