Изменить флаги компиляции в Qt под Mac OS X?
Вопрос
Я установил 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' в раздел "Создать аргументы".
Надеюсь, это поможет!