Qt5 生成配置总是添加调试符号

Qt5 生成配置总是添加调试符号,qt5,qmake,Qt5,Qmake,我曾经在Qt5.10.0上运行我的应用程序,我不记得遇到过这个问题,我发布了版本,得到了没有符号的二进制文件。我使用qt creator 4.1将其降级为5.9.2,因为它是CentOS 7 repo附带的标准版本,所以我可以将我的应用程序部署为标准RPM 在5.9.2版本中,我选择release build,但仍然得到了巨大的二进制文件,Makefile是用CFLAGS生成的,包括-g,但是如果我手动删除它,我会得到没有调试符号的二进制文件。同样的事情也会发生,例如qmake CONFIG+=

我曾经在Qt5.10.0上运行我的应用程序,我不记得遇到过这个问题,我发布了版本,得到了没有符号的二进制文件。我使用qt creator 4.1将其降级为5.9.2,因为它是CentOS 7 repo附带的标准版本,所以我可以将我的应用程序部署为标准RPM


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

我偶然发现了。显然,
qmake
spec文件

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

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