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

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:操作不允许

有什么想法吗?

有帮助吗?

解决方案

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

QMAKE_CXXFLAGS_RELEASE -= -O2
QMAKE_CXXFLAGS_RELEASE += -O3

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

其他提示

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

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

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

sudo chmod ....

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

至于在Qt Creator中设置CXXFLAGS,最好的办法是覆盖对Make的调用。在<!> quot; Projects <!>中;部分,转到<!>“构建步骤<!>”;和<!> quot; Make <!> quot;并将CXXFLAGS =' - O3 -fomit-frame-pointer'添加到<!>“;生成参数<!>”;部分。

希望有所帮助!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top