我曾经在Qt 5.10.0上运行我的应用程序,我不记得遇到这个问题,我发布了版本,并且得到了没有符号的二进制文件。我将Qt Creator 4.1降级为5.9.2,因为它是CentOS 7回购随附的标准版本,因此我可以将应用程序部署为标准RPM。
使用5.9.2时,我选择发布版本,但仍然得到巨大的二进制文件,Makefile
是由CFLAGS
生成的,其中包括-g
,但是如果我手动删除它,则会得到没有调试符号的二进制文件。例如,当我做qmake CONFIG+=release
时,也会发生同样的事情。有某种我应该覆盖的默认设置吗?
答案 0 :(得分:1)
我偶然发现了。显然是qmake
规范文件
/usr/lib64/qt5/mkspecs/linux-g++/qmake.conf
包含一行QMAKE_CFLAGS_RELEASE += -O2 -g ....
,看来这是覆盖默认的CFLAGS
,我删除了该行,qmake
开始了正确的构建配置。由于某种原因,以前的调试版本提供了220 MB的二进制文件,而现在,调试版本提供了66 MB的二进制文件。