Как изменить флаги выпуска qmake для gcc? (Измените -O2 на -Os) - PullRequest
20 голосов
/ 19 апреля 2011

С qmake вы можете довольно легко изменить, так что вы создадите отладочную версию или версию выпуска.Просто измените CONFIG var и измените флаги компиляции.

CONFIG += debug
CONFIG += release

Когда вы используете отладку, вы получаете -g без оптимизации, а когда вы используете релиз, вы получаете -O2 и без информации отладки (без -g).

Но где это указано?

Допустим, я хотел бы, чтобы мое приложение создавалось с оптимизацией по размеру, -О?Как мне изменить то, что стоит за «релизом»?

Спасибо

Ответы [ 2 ]

37 голосов
/ 19 апреля 2011

Вы можете изменить глобальные флаги компилятора, изменив QMAKE_CXXFLAGS.Флаги компилятора для сборок отладки и выпуска могут быть установлены в QMAKE_CXXFLAGS_DEBUG и QMAKE_CXXFLAGS_RELEASE соответственно.

Для вашего конкретного примера вы должны сделать что-то вроде этого:

QMAKE_CXXFLAGS_RELEASE -= -O2
QMAKE_CXXFLAGS_RELEASE += -Os
3 голосов
/ 24 августа 2015

В моем случае я перепробовал все, что нашел везде, и никто не работал.Единственным способом для меня было жестко закодировать флаги в директории установки 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 / qt5,Таким образом, вы можете искать папку с именем mkspecs в вашей системе, затем подпапку с именем linux-g ++ и затем файл с именем qmake.conf, чтобы добавить эти две магические строки в нее.Это зависит от вас и вашего окружения.

...