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

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

我在 Debian Jessie 上使用带有 Clang 的 Qt5。要试验通用 lambda,在 .pro 文件中有:

CONFIG += c++14

在构建之后我得到了:

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

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

QMAKE_CXXFLAGS += -Wc++11-extensions

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

最佳答案

根据 qmake 的存储库历史记录,CONFIG += c++14 节在 qmake 5.4 版中添加: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

关于c++ - 警告 : 'auto' type specifier is a C++11 extension [-Wc++11-extensions],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36962475/

相关文章:

C++17 限制模板类初始化的折叠表达式类型

qt - 如何设置 Qt 应用程序在哪里找到 Qt 模块?

c++ - 没有默认构造函数的类 vector

c++ - 在构造函数中使用关键字 "this"时定义复制构造函数

C++ 为什么指针值改变了?

类成员函数的 C++ Functor 模板

c++ - 某些代码未从代码覆盖率中删除

c++ - C++11 中的 async(launch::async) 是否会使线程池过时以避免昂贵的线程创建?

c++ - 在 CMake 的子目录中保持文件层次结构

html - 如何使用 html 列表格式在 qt 工具提示中缩小缩进?