2011-04-19 29 views
20

使用qmake可以非常容易地更改,因此您可以構建調試版本 或發佈版本。只要修改CONFIG var並且編譯標誌改變。如何更改gma的qmake發佈標誌? (將-O2更改爲-Os)

CONFIG += debug 
CONFIG += release 

當你使用你的-g調試和無優化, 當您使用版本中,您得到-02和沒有調試信息(無-g)。

但是在哪裏指定?

假設我希望我的應用程序可以通過優化大小來構建,-Os? 如何更改「發佈」背後的內容?

感謝

回答

35

您可以通過修改QMAKE_CXXFLAGS改變全球的編譯器標誌。用於調試和發佈版本的編譯器標誌可分別在QMAKE_CXXFLAGS_DEBUGQMAKE_CXXFLAGS_RELEASE中設置。

爲了您的具體的例子,你應該做這樣的事情:

QMAKE_CXXFLAGS_RELEASE -= -O2 
QMAKE_CXXFLAGS_RELEASE += -Os 
+0

+1點,正是我正在尋找:) – Johan 2011-04-19 11:54:02

3

在我來說,我什麼都試過,我發現到處都是,沒有工作。對我來說,唯一的方法就是在qt5安裝目錄內硬編碼標記!所以,只是爲了記錄在案,我將這兩行:

QMAKE_CFLAGS_RELEASE = "-march=native -O3 -msse -msse2 -msse3 -mssse3 -fomit-frame-pointer -pipe" 
QMAKE_CXXFLAGS_RELEASE = "-march=native -O3 -msse -msse2 -msse3 -mssse3 -fomit-frame-pointer -pipe" 

到文件:

/opt/qt5/mkspecs/linux-g++/qmake.conf 

請注意,我已經QT5編譯和在/ opt/QT5路徑安裝在我的系統上。因此,您可以在系統中搜索名爲mkspecs的文件夾,然後搜索名爲linux-g ++的子文件夾,然後搜索名爲qmake.conf的文件以將這兩條魔術線添加到該文件夾​​中。這取決於你和你所處的環境。