2014-11-15 47 views
1

對於Qmake 4,我基本上遵循this guide爲全部包含的項目文件定義了一些top_srcdir變量。Qmake 5.3:定義全局變量

現在,我想讓我的Qmake文件也與Qmake 5兼容。它還沒有真正的工作。該指南還告訴我創建文件.qmake.conf與內容:

top_srcdir=$$PWD 
top_builddir=$$shadowed($$PWD) 

,但它只是似乎忽略該文件。 (通過Qt Creator,如果有影響的版本,如果這很重要)。

如果我在根項目文件中指定了相同的名稱,則不會將其導出到任何其他項目。

那麼,如何導出變量,使其在所有子項目中都可用?或者我怎樣才能在全球範圍內爲所有項目申報?

回答

1

Qt 4和Qt 5之間存在着根本的區別,那就是不允許你這樣做。

你的情況最好的解決方案是使用.pri文件和include()它從你的子目錄'.pro文件。

而且:在Qt 5中,您應該在您的.qmake.conf中使用top_builddir=$$shadowed($$PWD),而不是您輸入的內容。在Qt 4中,您應該在您的構建目錄中放置一個名爲.qmake.cache的文件,這有點複雜。

+0

像什麼區別?我正在檢查Qmake 5 [像這裏一樣](http://stackoverflow.com/questions/26948091/qmake-how-to-check-for-qmake-version),我的'.qmake.conf'基本上與我的'.qmake.cache.in'一樣,Qmake 4也是如此。目前它似乎工作得很好。 – Albert

+0

那麼,你說你想讓它們「兼容」,問題在於系統改變時沒有辦法。這種詭計沒有證件和不受支持...... – peppe