Question

J'ai installé Qt pour Mac et je compile mon projet Qt après avoir ajouté dans le fichier .Pro

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

pour optimiser la vitesse.

Cependant, je vois toujours que la commande où g ++ est exécuté inclut les -Os, ce qui optimise la taille. Je voudrais l'enlever.

J'ai essayé plusieurs approches, comme

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

et

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

Mais rien. -Os TOUJOURS apparaître.

Comment puis-je changer cela?

J'ai trouvé le fichier qmake.conf sous /usr/local/QT4.5/mkspecs. Il inclut un fichier mac-g ++. Conf, mais je ne peux pas le modifier et chmod ne fonctionne pas: chmod: mac-g ++. Conf: opération non autorisée

Des idées?

Était-ce utile?

La solution

J'ai pu résoudre ce problème en modifiant le fichier .pro de mon projet:

QMAKE_CXXFLAGS_RELEASE -= -O2
QMAKE_CXXFLAGS_RELEASE += -O3

J'ai vérifié qu'il prenait effet en surveillant le résultat de la compilation.

Autres conseils

Vous devez exécuter la commande qmake dans le répertoire de votre projet après avoir modifié le fichier .pro .

La commande chmod échoue car ce répertoire appartient à root (c'est-à-dire pas à votre utilisateur).

Vous pouvez gérer cela avec:

sudo chmod ....

Je suppose que ma grande question est de savoir si vous savez que -O3 optimise réellement la vitesse ou non. Comme Pavel l'a indiqué, vous pouvez éditer le Makefile, le construire manuellement et le tester. Mon hypothèse est que -O3 ne fera pas beaucoup de différence et pourrait être légèrement pire.

En ce qui concerne le paramétrage de CXXFLAGS dans Qt Creator, le mieux est de remplacer l'appel à Make. Dans la section "Projets" dans la section "Etapes de construction". et " Faire " et ajoutez CXXFLAGS = '- O3 -fomit-frame-pointer' à l'option "Générer des arguments". section.

J'espère que ça aide!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top