我正在Qt开发一个程序。它的makefile是从.pro文件自动生成的。我需要使用一些需要为g ++设置-std = c ++ 11标志的代码。我应该在.pro中添加这个标志? (只更改Makefile将不起作用,因为每次构建项目时它都会被新生成的文件覆盖)。
答案 0 :(得分:76)
您可以将以下内容添加到Qt .pro for C ++ 11中: -
CONFIG += c++11
从Qt 5.4开始,可以使用
启用C ++ 14CONFIG += c++14
答案 1 :(得分:23)
您可以更改CXX标志:
QMAKE_CXXFLAGS += -std=c++11
我通常把它设为:
QMAKE_CXXFLAGS += -std=c++11 -Wall -Wextra -pedantic
答案 2 :(得分:13)
您可能会发现插入特定标志(您提到的)
很有诱惑力QMAKE_CXXFLAGS += -std=c++11
<。>在.pro文件中,但这将代表您插入该标志。
这还不够。正确的方法是插入
CONFIG += c++11
<。>在你的.pro文件中。然后由qmake
进行两到三次必要的更改:
答案 3 :(得分:3)
我使用Snow Leopad 10.6.8和gcc 4.9,我不得不使用
CONFIG += c++11
而不是
QMAKE_CXXFLAGS += -std=c++11
后者根本无法识别。
答案 4 :(得分:0)
CONFIG += c++11
在我的Ubuntu桌面上安装qt5-default后,.pro文件中的似乎对我有用Qt4 SDK:
sudo apt install qt5-default
无论如何,生成的makefile包含一个-std=c++0x
选项,我怀疑它足以编译我的C ++ 11代码。