我正在用 Qt 开发一个程序。它的 makefile 是从 .pro 文件自动生成的。我需要使用一些需要为 g++ 设置 -std=c++11 标志的代码。我应该在 .pro 的哪个位置添加此标志?(仅更改 Makefile 将不起作用,因为每次构建项目时它都会被新生成的文件覆盖)。
问问题
61988 次
5 回答
76
您可以将以下内容添加到 C++11 的 Qt .pro 中:-
CONFIG += c++11
从 Qt 5.4 开始,可以使用 C++14 启用
CONFIG += c++14
于 2013-10-16T08:25:58.077 回答
23
您可以更改 CXX 标志:
QMAKE_CXXFLAGS += -std=c++11
我通常将其设置为:
QMAKE_CXXFLAGS += -std=c++11 -Wall -Wextra -pedantic
于 2014-04-11T13:18:59.103 回答
22
您可能会发现插入特定标志(您提到的)很诱人
QMAKE_CXXFLAGS += -std=c++11
在您的 .pro 文件中,但这只会代表您插入该标志。
那是不够的。正确的方法是插入
CONFIG += c++11
在您的 .pro 文件中。然后通过以下方式进行两到三个必要的更改qmake
:
-std=c++11
被插入。-stdlib=libc++
被插入。- 如果您在 Mac 上,
-mmacosx-version-min=10.6
则变为-mmacosx-version-min=10.7
. (在其他操作系统或操作系统版本上,可能需要进行一些类似的更改。)
于 2014-05-12T17:31:10.433 回答
3
我正在使用 Snow Leopad 10.6.8 和 gcc 4.9,我不得不使用
CONFIG += c++11
代替
QMAKE_CXXFLAGS += -std=c++11
后者根本不被认可。
于 2015-07-13T19:33:16.103 回答
0
CONFIG += c++11
在我的 Ubuntu 桌面上安装 qt5-default 后,.pro 文件中的 Qt4 SDK 似乎对我有用:
sudo apt install qt5-default
无论如何,生成的 makefile 包含一个-std=c++0x
我怀疑足以编译我的 C++11 代码的选项。
于 2016-09-09T06:21:40.737 回答