Qt5 msvc 2010不识别自动(c ++ 11)[重复]

Posted

技术标签:

【中文标题】Qt5 msvc 2010不识别自动(c ++ 11)[重复]【英文标题】:Qt5 msvc 2010 do not recognize auto (c++11) [duplicate] 【发布时间】:2015-09-06 07:39:48 【问题描述】:

我正在尝试在另一个系统上编译我的旧 Qt 项目:Windows XP、Qt5、msvc 2010。

我的项目中使用了c++11 autopro文件中有一行CONFIG += c++11 .

for(auto e : mapTerm->keys())

     mapTerm->insert(e, attrib.value(e).toString());

现在它无法识别 auto 循环并给出语法错误。

【问题讨论】:

MSVC 2010 对于 c++11 来说太旧了。 什么是自动循环?一些代码会很好...... 您可以通过在项目设置中选择与 XP 兼容的工具集,在 Windows XP 中使用更高版本的 Visual C++(包括 Visual C++ 2015)。或者,您可以使用 Visual C++ 2010 非标准基于范围的循环(我记得语法有点不同),但我认为没有任何替代 auto 的方法。所以你必须拼出类型,或者使用 Visual ++ 非标准替代 decltype 【参考方案1】:

您需要确保您使用的是正确的 C++ 编译器并且它是 C++11+。

如果您使用的是 msvc 并且使用的是正确的版本,那么这应该是一个内置功能。

【讨论】:

以上是关于Qt5 msvc 2010不识别自动(c ++ 11)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Qt+QZXing编写识别二维码的程序

PCL 1.6.0 和 Qt 5.5.0

新安装qt5.0,在编译一个对话框过程中,提示编译器问题出错。

安装 Qt 5.6.1 MSVC 2015 更新 3

迁移到 Qt5 时无法在子目录中找到头文件

Qt5 + msvc2015编译器 环境配置 (不安装VS)