我们正在尝试使用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命令的命令行参数。这可能是我的问题的原因吗? ......以及如何覆盖它们?
答案 0 :(得分:4)
自己找到答案: - )
.dpk中的显式设置是问题所在,但可以通过将{$
更改为{<space>
更改来覆盖它们而不会丢失IDE功能。
请参阅以下链接:Compile DPK files using DCC32