删除编译器优化并在发布中启用 pdb 文件

Remove compiler optimizations and enable pdb files in release

我有一个 qt pro 文件,我想在其中禁用优化,因为我看到一些不合理的崩溃。因此我使用选项:

QMAKE_CXXFLAGS -= -O1
QMAKE_CXXFLAGS -= -O2
QMAKE_CXXFLAGS -= -O

此外,我需要生成 pdb 文件,同时在发布模式下构建,以跟踪任何 crush 后记。因此,我在 pro 文件中使用了以下选项:

CONFIG += force_debug_info

但是,我在编译过程中看到,由于第二个选项,编译器添加了 O2 优化。您知道为什么会这样吗?我如何才能同时拥有这两种功能?

似乎在使用调试信息构建时,pro 文件中要更新的 qmake 标志是:

QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO 

因此,我应该写:

QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO -= -O1
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO -= -O2
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO -= -O