Как изменить флаги выпуска qmake для gcc? (Изменить -O2 на -O)
С qmake вы можете легко изменить, чтобы вы построили отладочную версию,
или выпуск версии. Просто измените CONFIG var и смените флаги компиляции.
CONFIG += debug
CONFIG += release
Когда вы используете debug, вы получаете -g и не оптимизируете,
и когда вы используете выпуск, вы получаете -O2 и никакой отладочной информации (no -g).
Но где указано?
Скажем, что я хотел бы, чтобы мое приложение было создано с оптимизацией для размера, -О?
Как мне изменить то, что стоит за "release"?
Спасибо
Ответы
Ответ 1
Вы можете изменить глобальные флаги компилятора, изменив QMAKE_CXXFLAGS
. Флаги компилятора для сборки отладки и выпуска могут быть установлены в QMAKE_CXXFLAGS_DEBUG
и QMAKE_CXXFLAGS_RELEASE
соответственно.
Для вашего конкретного примера вы должны сделать что-то вроде этого:
QMAKE_CXXFLAGS_RELEASE -= -O2
QMAKE_CXXFLAGS_RELEASE += -Os
Ответ 2
В моем случае я попробовал все, что нашел везде, и никто не работал. Единственный путь для меня - это жесткие коды внутри каталога установки qt5! Поэтому для записи я добавил две строки:
QMAKE_CFLAGS_RELEASE = "-march=native -O3 -msse -msse2 -msse3 -mssse3 -fomit-frame-pointer -pipe"
QMAKE_CXXFLAGS_RELEASE = "-march=native -O3 -msse -msse2 -msse3 -mssse3 -fomit-frame-pointer -pipe"
В файл:
/opt/qt5/mkspecs/linux-g++/qmake.conf
Обратите внимание, что у меня был qt5, скомпилированный и установленный в моей системе в /opt/qt 5. Таким образом, вы можете искать папку с именем mkspecs в своей системе, а затем вложенную папку с именем linux-g++, а затем файл с именем qmake.conf, чтобы добавить к нему эти две магические строки. Это зависит от вас и окружающей среды, в которой вы находитесь.