web-dev-qa-db-fra.com

CXXFLAGS Modification du fichier QT Pro?

Dupliquer possible:
[.____] Configuration des commutateurs de compilateur GCC dans QT, QTCreator et QMake

Je voudrais utiliser -O1 à la place de -O2 Dans mon maquillage (CFLAGS et CXXFLAGS) pour ma construction Linux. Ma compréhension de la manière dont ces fabricants sont générées sur la base du fichier .pro est quelque peu manquant. En effet, la version de QT associée à la version de g ++ que j'utilise a des instabilités lorsque -O2 est présent.

Actuellement, je suis en train d'exécuter un script de remplacement, après avoir exécuté qmake, ce qui fait:

sed -i 's/\-O2/\-O1/g' AllProjects/Makefile.Release

Ceci est une solution de ghetto. Une solution bien meilleure serait de modifier le fichier .pro en quelque sorte à transmettre ces directives. Je ne sais pas comment CFLAGS et CXXFLAGS sont générés cependant.

J'ai essayé de passer un

linux-g++-{ 
      CFLAGS += -O1
      CXXFLAGS += -O1
      CONFIG += -O1
}

qui n'a pas fonctionné.

23
Brian Stinar

Tu étais très proche. Ce que tu veux, c'est:

QMAKE_CXXFLAGS += -O1

Si vous souhaitez appliquer des indicateurs pour simplement la version de sortie, vous pouvez utiliser ceci:

QMAKE_CXXFLAGS_RELEASE += -O1

Vous voulez également probablement changer votre état pour être un peu plus flexible. En résumé, quelque chose comme ceci:

*-g++* {
    QMAKE_CXXFLAGS += -O1
}

Plus dans la documentation ici: http://qt-project.org/doc/qt-5.0/qtdoc/qmake-variable-reference.html#qqqqmake-cxxflags

27
Evan Teran