警告:' auto' type specifier是C ++ 11扩展[-Wc ++ 11-extensions]

时间:2016-05-01 02:40:13

标签: c++ qt c++11 qt5 c++14

我在Debian Jessie上使用Qt5和Clang。要试验泛型lambda,在.pro文件中有:

return data.read().split('\n\t')

建成之后我得到了:

CONFIG += c++14

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

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

但我一直得到明显的信息。为什么?如何隐藏它?

2 个答案:

答案 0 :(得分:12)

根据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

答案 1 :(得分:7)

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

clang compiler documentation

相关部分:

  

-Wfoo:启用警告foo

     

-Wno-foo:停用警告foo