我们正在尝试使用 MSBuild 构建 Delphi 2007 项目。在 IDE 中,我们将所有 Buidl 配置设置为“调试”(其中包括)启用 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 命令的命令行参数。这可能是我的问题的原因吗? ...以及如何覆盖它们?
最佳答案
我自己找到了答案:-)
.dpk 中的显式设置是问题所在,但可以通过更改 {$
来覆盖它们,而不会丢失 IDE 功能。进入{<space>
改变了。
请参阅以下链接:Compile DPK files using DCC32
关于delphi - Delphi 项目的 RELEASE 的 MSBuild 仍然设置 D+ 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4132564/