Domanda

Ho installato Qt per Mac e sto compilando il mio progetto Qt dopo aver aggiunto nel file .Pro

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

per ottimizzare la velocità.

Tuttavia, vedo sempre che il comando su cui viene eseguito g ++ include -Os, che ottimizza per le dimensioni. Vorrei rimuoverlo.

Ho provato diversi approcci, come

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 +)

Ma niente. -Sono SEMPRE visualizzati.

Come posso cambiarlo?

Ho trovato il file qmake.conf in /usr/local/QT4.5/mkspecs. Include un file conf mac-g ++, ma non posso cambiarlo e chmod non funziona: chmod: mac-g ++. Conf: Operazione non consentita

Qualche idea?

È stato utile?

Soluzione

Sono stato in grado di risolverlo modificando il file .pro del mio progetto:

QMAKE_CXXFLAGS_RELEASE -= -O2
QMAKE_CXXFLAGS_RELEASE += -O3

ho verificato che ha avuto effetto monitorando l'output di compilazione.

Altri suggerimenti

Dovresti eseguire il comando qmake nella directory del tuo progetto dopo aver modificato il file .pro .

Il comando chmod non riesce perché quella directory è di proprietà di root (cioè non dell'utente).

Puoi gestirlo con:

sudo chmod ....

Immagino che la mia grande domanda sia se sai che -O3 ottimizza davvero per la velocità o no. Come indicato da Pavel, è possibile modificare il Makefile, compilare manualmente e testare. La mia ipotesi è che -O3 non farà molta differenza e potrebbe essere leggermente peggiore.

Per quanto riguarda l'impostazione di CXXFLAGS in Qt Creator, la soluzione migliore è sostituire la chiamata a Make. Nel " Progetti " sezione, vai a " Passaggi di costruzione " e " Crea " e aggiungi CXXFLAGS = '- O3 -fomit-frame-pointer' al " Crea argomenti " sezione.

Spero che ti aiuti!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top