奥威尔开发C++不适用于 C++11

Orwell Dev C++ doesn't work with C++11

本文关键字:不适用 适用于 C++11 C++ 开发      更新时间:2023-10-16

我正在尝试使用Orwell Dev C++中的任何C++11功能,但没有成功。我安装了带有minGW的版本,无论我在编译器选项中设置了什么,我都会在以下代码中得到"[Error]'to_string'未在此范围内声明":

#include<iostream>
#include<string>
using namespace std;
int main()
{
    string test = to_string(5);
}

我尝试设置-std=gnu++11和-std=c++0x,但两者都不起作用。最奇怪的是,当我点击to_string时,它会向我显示重载的函数-例如long、float、int等等。因此,它必须以某种方式了解函数的功能-为什么它不编译它呢?编译器正确设置为MinGW GCC 4.7.2(与安装程序捆绑在一起的编译器)。

如果你想在Dev-C++中使用C++11,你应该执行以下步骤:

  1. 转到"工具">"编译器选项"
  2. 转到选项卡"设置">"代码生成"
  3. 将参数Language Standard(-std)更改为ISO C++11

to_string还不能与MinGW一起工作是一个已知的错误(在某种程度上,这实际上是GCC的错误):

  • http://sourceforge.net/p/mingw/bugs/1578/
  • http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52015

Intellisense通常由不同于编译器的引擎驱动(因为很少有编译器有钩子来简化Intellisense),所以这可能就是为什么当编译器不支持它时,你会在IDE中看到它。

相关文章: