Изменить флаги компиляции в Qt под Mac OS X?

StackOverflow https://stackoverflow.com/questions/1440335

  •  10-07-2019
  •  | 
  •  

Вопрос

Я установил Qt для Mac, и я компилирую свой проект Qt после добавления в файл .Pro

CONFIG(release, debug|release):QMAKE_CXXFLAGS += -O3 -fomit-frame-pointer

для оптимизации скорости.

Однако я всегда вижу, что команда, в которой выполняется g ++, включает -Os, которая оптимизирует размер.Я хотел бы удалить его.

Я попробовал несколько подходов, таких как

CONFIG(release, debug|release):QMAKE_CFLAGS_RELEASE -= -Os
CONFIG(release, debug|release):QMAKE_CXXFLAGS -= -Os

и

CONFIG(release, debug|release):QMAKE_CXXFLAGS = -O3 -fomit-frame-pointer
CONFIG(release, debug|release):QMAKE_CFLAGS_RELEASE = -O3 -fomit-frame-pointer
(no +)

Но ничего.-ОС ВСЕГДА появляется.

Как мне это изменить?

Я нашел файл qmake.conf в каталоге /usr/local/QT4.5/mkspecs.Он включает файл mac-g ++.conf, но я не могу его изменить, и chmod не работает:чмодь:mac-g++.conf:Операция не разрешена

Есть какие-нибудь идеи?

Это было полезно?

Решение

я смог решить эту проблему, отредактировав файл .pro моего проекта:

QMAKE_CXXFLAGS_RELEASE -= -O2
QMAKE_CXXFLAGS_RELEASE += -O3

я убедился, что это вступило в силу, отслеживая выходные данные компиляции.

Другие советы

Ты должен бежать qmake команду в каталоге вашего проекта после того, как вы отредактировали .pro файл.

Команда chmod завершается с ошибкой, поскольку этот каталог принадлежит root (т. Е. не вашему пользователю).

Вы могли бы справиться с этим с:

sudo chmod ....

Я думаю, мой главный вопрос заключается в том, знаете ли вы, что -O3 действительно оптимизирует скорость или нет.Как указал Павел, вы можете отредактировать Makefile, выполнить сборку вручную и протестировать.Я предполагаю, что -O3 не будет иметь большого значения и может быть немного хуже.

Что касается настройки CXXFLAGS в Qt Creator, то лучше всего переопределить вызов Make .В разделе "Проекты" перейдите к "Шагам сборки" и "Создать" и добавьте CXXFLAGS='-O3 -fomit-frame-pointer' в раздел "Создать аргументы".

Надеюсь, это поможет!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top