警告:'auto'类型说明符是 C++11 扩展 [-WC++11-扩展]



我在Debian Jessie上使用Qt5和Clang。要试用通用Lambda,.pro文件中有:

CONFIG += c++14

建造后,我得到了:

warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]

为了摆脱这个明显的信息,我做了:

QMAKE_CXXFLAGS += -Wc++11-extensions

但我不断得到明显的信息。为什么?如何隐藏?

根据qmake的存储库历史,在qmake 5.4版本中添加了CONFIG += c++14节:https://codereview.qt-project.org/#/c/87831/

然而,Debian Jessie似乎只有qmake 5.3版本(https://packages.debian.org/jessie/qt5-qmake)

作为一种变通方法,您可以使用

QMAKE_CXXFLAGS += -std=c++14

QMAKE_CXXFLAGS += -std=gnu++14

我怀疑您想要QMAKE_CXXFLAGS+=-Wno-c++11-extensions

clang编译器文档

相关部分:

-Wfoo:启用警告foo

-Wno-foo:禁用警告foo

最新更新