2011-10-04 51 views
9

誰能告訴我在哪裏可以找到RAD Studio中可用的「僞」環境變量列表?像$(Platform),$(Config)等等。具體來說,我想要一個給我的RTL版本,以便我可以將我編譯的單元(* .dcu)放到正確的目錄中,即。 D15爲XE,D16爲XE2等。德爾福預定義的環境變量

我希望能有這些與「RTLVersion」編譯器條件定義相對應的一個,但$(RTLVersion)不起作用。

+0

我認爲他們只是正常的環境變量,如討論[這裏](http://stackoverflow.com/questions/6870282/how-are-delphi-environment-variables-such-as-bds-evaluated)。 –

+0

這些是IDE本身設置的環境變量。 「覆蓋」存儲在註冊表中。順便說一下,'RTLVersion'不是條件符號,而是真正的常量。此外,我沒有看到很大的理由來組織臨時文件。 –

+0

我正在嘗試配置我的項目,以便它們可以構建在構建服務器上,而無需在構建服務器上添加特殊命令。構建服務器可能有幾個不同版本的Delphi。它也可能有幾個不同的代碼庫,例如Jedi(全部在源代碼控制中)。我想要構建腳本來構建這些庫以及我的產品。但Jedi對每個RTL版本都有不同的文件夾(例如\ lib \ D15)。所以我想讓我的項目選項在.. \ lib \ D $(RTLVersion)中查找,因爲在發佈新的Delphi版本時,我不必更改每個項目文件。 – user977725

回答

1

RTL版本沒有環境變量。您必須爲每個版本創建一個單獨的項目,然後根據需要調整輸出文件夾。

10

沒有一個RTLVersion可變的,但你可以使用選項環境變量

enter image description here

或Windows註冊表中創建容易。

對於德爾福XE檢查此項

HKEY_CURRENT_USER\Software\Embarcadero\BDS\8.0\Environment Variables 

然後你就可以創建一個名爲RTLVersion

enter image description here

再從德爾福IDE新的變量,你可以使用像這樣

enter image description here

+0

在D2007中,我在「環境選項」下的選項對話框中有一個「環境變量」頁面(全部翻譯自德文)。這是否在DXE中消失? –

+0

@UlrichGerhardt,'環境變量'頁面仍然存在,我更新了我的答案。 – RRUZ

4

你試過$(ProductVersion)嗎? 這不會給你D16,但包含XE2的BDS產品版本9.0。

不幸的是,我的XE2演示版已過期,所以無法驗證自己是否可以正常使用。 你會找到你定義BIN \ CodeGear.Common.Targets

更新: 的定義的ProductVersion在XE2是新的,所以它不會在舊版本的工作,但由於其新加入的可能性高它將在未來的版本中由embarcadero維護。

+0

好主意,make和其他構建工具也可以設置變量 –

+0

請注意$(ProductVersion)也可以在XE中使用。 –