如何更改 gcc 的 qmake 发行标志? (将 -O2 更改为 -Os)

发布于 2024-11-02 09:27:24 字数 277 浏览 0 评论 0原文

使用 qmake 你可以很容易地改变,这样你就可以构建一个调试版本, 或发布版本。只需修改 CONFIG var 即可更改编译标志。

CONFIG += debug
CONFIG += release

当您使用调试时,您会得到 -g 并且没有优化, 当您使用release时,您会得到-O2并且没有调试信息(没有-g)。

但具体是在哪里规定的呢?

假设我希望在构建时优化大小,-Os? 如何更改“发布”背后的内容?

谢谢

With qmake you can quite easy change so you build a debug version,
or a release version. Just modify the CONFIG var and the compile flags change.

CONFIG += debug
CONFIG += release

When you use the debug you get -g and no optimization,
and when you use release you get -O2 and no debug info (no -g).

But where is that specified?

Let's say that I would like my application to be build with optimization for size, -Os?
How do I change what is behind "release"?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

怪我闹别瞎闹 2024-11-09 09:27:24

您可以通过修改 QMAKE_CXXFLAGS< 来更改全局编译器标志/代码>。可以在 中设置调试和发布版本的编译器标志QMAKE_CXXFLAGS_DEBUGQMAKE_CXXFLAGS_RELEASE 分别。

对于您的具体示例,您应该执行以下操作:

QMAKE_CXXFLAGS_RELEASE -= -O2
QMAKE_CXXFLAGS_RELEASE += -Os

You can change global compiler flags by modifying QMAKE_CXXFLAGS. Compiler flags for debug and release builds can be set in QMAKE_CXXFLAGS_DEBUG and QMAKE_CXXFLAGS_RELEASE respectively.

For your concrete example, you should do something like this:

QMAKE_CXXFLAGS_RELEASE -= -O2
QMAKE_CXXFLAGS_RELEASE += -Os
长不大的小祸害 2024-11-09 09:27:24

就我而言,我尝试了我在各处找到的所有方法,但没有一个有效。对我来说唯一的方法是在 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"

To file:

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

请注意,我已编译 qt5 并将其安装在系统上的 /opt/qt5 路径中。因此,您可以在系统中搜索名为 mkspecs 的文件夹,然后搜索名为 linux-g++ 的子文件夹,然后搜索名为 qmake.conf 的文件,以将这两个魔术行添加到其中。这取决于你和你所处的环境。

In my case I tried everything I found everywhere and none worked. The only way for me was to hardcode flags inside qt5 installation directory! So just for record, I added these two lines:

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"

To file:

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

Please note that I had qt5 compiled and installed on my system in /opt/qt5 path. So you may search a folder named mkspecs in your system then a subfolder named linux-g++ and then a file named qmake.conf to add those two magic lines to it. It's up to you and the envirtonment you are in.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文