在Mac OS X下更改Qt中的编译标志?

时间:2009-09-17 17:50:42

标签: qt qt4 g++

我为Mac安装了Qt,并在添加.Pro文件后编译了我的Qt项目

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

优化速度。

但是,我总是看到运行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:操作不允许

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

我能够通过编辑项目的.pro文件来解决这个问题:

QMAKE_CXXFLAGS_RELEASE -= -O2
QMAKE_CXXFLAGS_RELEASE += -O3

我通过监视编译输出验证它已生效。

答案 1 :(得分:0)

编辑qmake文件后,应在项目目录中运行.pro命令。

答案 2 :(得分:0)

chmod命令失败,因为该目录由root拥有(即,不是您的用户)。

您可以使用以下方式处理:

sudo chmod ....

我想我最大的问题是你是否知道-O3真的可以优化速度。正如Pavel指出的那样,您可以编辑Makefile并手动构建并进行测试。我的猜测是-O3不会产生太大的影响,可能会稍差一些。

至于在Qt Creator中设置CXXFLAGS,最好的办法是覆盖对Make的调用。在“Projects”部分中,转到“Build Steps”和“Make”,并将CXXFLAGS =' - O3 -fomit-frame-pointer'添加到“Make arguments”部分。

希望有所帮助!