2009-09-17 70 views
3

我安裝Qt for Mac和增加在.pro文件在Mac OS X中更改Qt中的編譯標誌?

CONFIG(release, debug|release):QMAKE_CXXFLAGS += -O3 -fomit-frame-pointer 

優化速度後我編譯我的Qt項目。

但是,我總是看到g ++運行的命令包含-Os,它優化了大小。我想刪除它。

我試了幾種方法,如

CONFIG(release, debug|release):QMAKE_CFLAGS_RELEASE -= -Os 
CONFIG(release, debug|release):QMAKE_CXXFLAGS -= -Os 

CONFIG(release, debug|release):QMAKE_CXXFLAGS = -O3 -fomit-frame-pointer 
CONFIG(release, debug|release):QMAKE_CFLAGS_RELEASE = -O3 -fomit-frame-pointer 
(no +) 

但一無所獲。 -Os總是出現。

我該如何改變?

我在/usr/local/QT4.5/mkspecs下找到了qmake.conf文件。它包含一個mac-g ++ .conf文件,但我無法更改它,而chmod不起作用:chmod:mac -g ++。conf:不允許操作

任何想法?

回答

2

我能夠通過編輯我的項目的.pro文件來解決這個問題:

QMAKE_CXXFLAGS_RELEASE -= -O2 
QMAKE_CXXFLAGS_RELEASE += -O3 

我證實其生效通過監視輸出編譯。

0

在編輯.pro文件後,您應該在項目目錄中運行qmake命令。

+0

謝謝帕維爾!實際上QT Creator會在我更改Pro文件時自動運行QMake。 我是否需要手動運行它(我沒有看到區別)? 做這種改變對你有用嗎? 我可以手動修改Makefile文件,但它會每次都需要手動工序......再次 感謝, 利奧爾 – Lior 2009-09-17 18:35:13

+0

@Lior:我其實只是想猜測什麼可以幫助你的,我甚至不擁有mac也不使用qt創建器。嘗試手動運行qmake,如果它生成帶有正確標誌的makefile,可能也不應該編輯.pro文件。相反,你應該嘗試在Qt Creator的「Project options」窗口中編輯CFLAGS。 – 2009-09-17 18:47:54

0

chmod命令失敗,因爲該目錄屬於根(即不是您的用戶)。

您可以處理與:

sudo的文件模式....

我想我最大的問題是,你是否知道,真的-O3優化速度或不。正如Pavel指出的那樣,您可以編輯Makefile並手動構建並測試。我的猜測是,-O3不會有太大的區別,可能會稍微差一些。

至於在Qt Creator中設置CXXFLAGS,最好的辦法就是覆蓋Make的調用。在「Projects」部分中,轉到「Build Steps」和「Make」,並將CXXFLAGS =' - O3 -fomit-frame-pointer'添加到「Make arguments」部分。

希望有幫助!