Конфигурация сборки всегда добавляет символы отладки

Раньше я запускал свое приложение на Qt 5.10.0 и не помню, чтобы сталкивался с этой проблемой, я делаю сборку релиза и получаю двоичный файл без символов. Я понизил версию до 5.9.2 с помощью qt Creator 4.1, потому что это стандартная версия, которая поставляется с репозиторием CentOS 7, поэтому я смогу развернуть свое приложение как стандартный RPM.

В версии 5.9.2 я выбираю сборку релиза, но по-прежнему получаю двоичный файл огромного размера, Makefile генерируется с CFLAGS, включая -g, но если я удаляю его вручную, я получаю двоичный файл без символов отладки. То же самое происходит, когда я делаю, например, qmake CONFIG+=release. Есть ли какие-то настройки по умолчанию, которые я должен переопределить?


person 3bdalla    schedule 26.06.2019    source источник


Ответы (1)


Я понял это случайно. По-видимому, файл спецификации qmake

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

содержал строку с указанием QMAKE_CFLAGS_RELEASE += -O2 -g ...., кажется, это переопределяло значение по умолчанию CFLAGS, я удалил строку и qmake запустил правильную конфигурацию сборки. По какой-то причине предыдущая сборка отладки давала двоичный файл размером 220 МБ, а теперь сборка отладки дает двоичный файл размером 66 МБ.

person 3bdalla    schedule 26.06.2019