Pergunta

Eu instalei Qt para Mac, e estou a compilar meu projeto de Qt após adicionar no arquivo .pro

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

para otimizar a velocidade.

No entanto, eu sempre ver que o comando onde g ++ é executado, inclui -Os, que otimiza para o tamanho. Eu gostaria de removê-lo.

Eu tentei várias abordagens, como

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

e

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

Mas nada. -Os sempre aparecem.

Como posso mudar isso?

Eu encontrei o arquivo qmake.conf sob /usr/local/QT4.5/mkspecs. Ele inclui um mac-g arquivo conf ++, mas não posso mudá-lo, e chmod não funciona:. Chmod:. Mac-g ++ conf: Operação não permitida

Todas as idéias?

Foi útil?

Solução

i foi capaz de resolver esta editando o arquivo .pro do meu projeto:

QMAKE_CXXFLAGS_RELEASE -= -O2
QMAKE_CXXFLAGS_RELEASE += -O3

i verificado que entrou em vigor, monitorando a saída de compilação.

Outras dicas

Você deve executar o comando qmake no diretório do projeto depois que você editou o arquivo .pro.

O comando chmod está falhando porque esse diretório é propriedade de raiz (ou seja, não o seu usuário).

Você poderia lidar com isso com:

sudo chmod ....

Eu acho que a minha grande questão é se você sabe que O3 realmente otimiza para a velocidade ou não. Como Pavel indicado, você pode editar o Makefile e construir manualmente e teste. Meu palpite é que O3 não vai fazer muita diferença e pode ser um pouco pior.

No que diz respeito a criação CXXFLAGS em Qt Creator, sua melhor aposta é para substituir a chamada para fazer. Na seção "Projetos", vá em "etapas de construção" e "Marca" e adicionar CXXFLAGS = '- O3 -fomit-frame-pointer'. Para a seção "Faça argumentos"

Espero que ajude!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top