生成配置始终添加调试符号



我曾经在Qt 5.10.0上运行我的应用程序,我不记得遇到过这个问题,我确实发布了build,并且得到了没有符号的二进制文件。我在 qt creator 4.1 中降级到 5.9.2,因为它是 CentOS 7 存储库附带的标准版本,所以我将能够将我的应用程序部署为标准 RPM。

在 5.9.2 中,我选择发布版本,但我仍然得到巨大的二进制文件,Makefile是用包括-g在内的CFLAGS生成的,但如果我手动删除它,我会得到没有调试符号的二进制文件。例如,当我做qmake CONFIG+=release时也会发生同样的事情。是否有某种默认设置应该覆盖?

我偶然想通了。显然是qmake规范文件

/usr/lib64/qt5/mkspecs/linux-g++/qmake.conf

包含一行说QMAKE_CFLAGS_RELEASE += -O2 -g ....,似乎这是覆盖默认CFLAGS,我删除了该行并qmake启动正确的构建配置。出于某种原因,以前的调试版本提供了 220 MB 的二进制文件,而现在的调试版本提供了 66 MB 的二进制文件。

相关内容

  • 没有找到相关文章