2014-10-29 157 views
1

我已經設置好的環境變量是這樣的:如何在Qt qmake文件(Windows)中使用環境變量?

XXX_ENV H:\ XXX

我可以看到

H:\ XXX

當我運行命令

echo%XXX_ENV%

in cmd。 然後,我有一個Qt .pro文件是這樣的:

> INCLUDEPATH += ($$(XXX_ENV))/include 

可惜INCLUDEPATH不工作,我不能用H那些.h文件中:\ XXX \包括

哪有我在qmake文件中使用環境varibale?

--------------------- update ----------------------- ----------

可能是我的描述不夠細緻。

這種情況。我在我的項目中引入了第三方組件。相關文件位於H:\ XXX中,我可以使用H:\ XXX \ include中的頭文件。所以,我的qmake可以所著這樣的:

INCLUDEPATH += H:/XXX/include 

那麼我可以用頭文件「aaa.h」,這是在目錄H:\ XXX \包括就像這樣:

#include <aaa.h> 

但我不想在qmake文件中寫入絕對路徑。所以我設置了Windows環境變量(而不是qmake文件的變量)XXX_ENV,它的值是「H:\ XXX」(或「H:/ XXX」)。

我只是想知道我可以寫INCLUDEPATH + = $$ {} XXX_ENV /包括代替INCLUDEPATH + = H:/ XXX /包括

我嘗試過,但沒有奏效。

+0

@lpapp謝謝你的回答,我認爲問題已經解決。 – 2014-11-04 04:59:50

+0

要在qmake中使用系統環境變量,只需將其寫爲$$(XXX_ENV),而不是$$ {XXX_ENV}。 – 2014-11-04 05:01:01

回答

5

有關詳細信息,請參閱documentation

變量可以用來存儲環境變量的內容。這些可以在qmake運行時進行評估,或者在項目生成時包含在生成的Makefile中進行評估。

要運行qmake時獲取環境值的內容,請使用$$(...)操作:

DESTDIR = $$(PWD) 
message(The project will be installed in $$DESTDIR) 

你的問題似乎是不準確的,究竟「不工作」的意思,但你應該使用quote function,你應該有空格的路徑等

報價(字符串)

將整個字符串轉換爲單個實體並返回結果。這只是將字符串括入雙引號的一種奇特方式。