2011-10-13 41 views
41

我有一個由Qt創建者創建的qmake文件。 我正在修改它,但我無法理解如何創建一個變量。QMake - 如何在.pro文件中添加和使用變量

例如我要聲明圖書館mypath中像我一樣在這裏:

MYPATH = /lib/aaa/bbb 
unix:!macx:!symbian: LIBS += -L$(MYPATH) 

當我運行QMAKE我在生成的makefile文件

LIBS = ....... -L$(MYPATH) ..... 

但myPath變量中不被任何聲明找到。

有誰知道如何正確聲明這樣一個變量?

回答

86

QMake使用its own syntax for variable references

  • VAR = foobar =>時的qmake在時刻qmake的運行
  • $${VAR} => QMAKE變量當時的qmake的值運行
  • $$VAR => QMAKE變量的值運行將值分配給變量(相同但括從周圍的文本分開)
  • $(VAR) =>在生成文件(未qmake的)運行
  • $$(VAR)在噸的環境變量的=>目錄時的環境變量的內容IME QMAKE(未Makefile的)運行

嘗試這樣

MYPATH = /lib/aaa/bbb 
unix:!macx:!symbian: LIBS += -L$${MYPATH} 
+8

不要忘記在運行qnake(不是Makefile!)時環境變量的內容$$(VAR)運行 – fawick

+2

那麼,$$ VAR'和$$ $$§之間的細微差別是什麼? VAR}'?我盯着每個解釋,找不到一個區別... o.0 –

+6

@ AdriC.S。我相信他們完全一樣。存在'$$ {VAR}'來解決像'lib $$ VERSION.dll'這樣的情況。如果不將它放在大括號'lib $$ {VERSION} .dll'之間,變量將不會被解析,因爲它後面沒有空格或斜線。 –

14

其它有用的變量類型:$$[...] 這意味着

實施例 「即是當Qt的建設置配置選項」 :

message($$[QT_INSTALL_BINS]) 

這給出:

C:\Qt\Qt5.0.2\5.0.2\msvc2010_opengl\bin 
相關問題