C++ Qt - comment ajouter "- std=C++11 " au makefile généré par qmake?

je développe un programme en Qt. Son makefile est généré automatiquement à partir du .pro file. J'ai besoin d'utiliser un code qui a besoin du drapeau-std=C++11 pour être configuré pour g++. Où ça ?pro dois-je ajouter ce drapeau? (changer seulement le Makefile ne fonctionnera pas car il est écrasé par le nouveau produit, chaque fois que je construis le projet).

51
demandé sur Ilya 2013-10-16 12:22:37
la source

5 ответов

vous pouvez ajouter ce qui suit au Qt .pro pour C++11: -

CONFIG += c++11

depuis Qt 5.4, C++14 peut être activé avec

CONFIG += c++14
72
répondu TheDarkKnight 2017-03-01 19:47:02
la source

vous pouvez changer les drapeaux CXX:

QMAKE_CXXFLAGS += -std=c++11

Je l'ai habituellement réglé comme:

QMAKE_CXXFLAGS += -std=c++11 -Wall -Wextra -pedantic
22
répondu BЈовић 2014-04-11 17:18:59
la source

vous pourriez trouver tentant d'insérer le drapeau spécifique (que vous mentionnez)

QMAKE_CXXFLAGS += -std=c++11

dans votre .pro file, mais cela n'insérera que ce drapeau en votre nom.

c'est insuffisant. La bonne façon est d'insérer à la place

CONFIG += c++11

dans votre .pro file. Deux ou trois modifications nécessaires sont alors apportées par qmake :

  1. -std=c++11 est inséré.
  2. -stdlib=libc++ est inséré.
  3. si vous êtes sur un Mac, -mmacosx-version-min=10.6 devient -mmacosx-version-min=10.7 . (Peut-être qu'un changement similaire est nécessaire sur d'autres versions OS ou OS.)

(une question similaire à 1 et 2 .)

11
répondu Calaf 2017-05-23 15:25:58
la source

j'utilise Snow Leopad 10.6.8 et gcc 4.9, j'ai dû utiliser

CONFIG += c++11

au lieu de

QMAKE_CXXFLAGS += -std=c++11

ce dernier n'était tout simplement pas reconnu.

2
répondu Wall-E 2015-07-13 22:33:16
la source
CONFIG += c++11 

in .le fichier pro semble fonctionner pour moi avec le SDK Qt4 après avoir installé qt5-default sur mon bureau Ubuntu:

sudo apt install qt5-default

quoi qu'il en soit le makefile généré contient une option -std=c++0x que je soupçonne d'être suffisante pour compiler mon code C++11.

0
répondu Pascal Séguy 2016-09-09 09:21:40
la source

Autres questions sur