2010-11-09 85 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