奥威尔开发C++不适用于 C++11
Orwell Dev C++ doesn't work with C++11
我正在尝试使用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,你应该执行以下步骤:
- 转到"工具">"编译器选项"
- 转到选项卡"设置">"代码生成"
- 将参数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中看到它。
相关文章:
- FLTK 2.0构建和演示,适用于VS2019的2011年左右的代码库
- "string.h"在构建适用于iOS的qt应用程序中找不到消息
- 为什么 std::erase(std::erase_if) 不是适用于<algorithm>任何容器的模板?
- 为什么这适用于 G++ 而不是 CLANG?
- 为什么不区分大小写适用于 std::unordered_set的 std::hash 函数?
- 声明适用于 auto,但不能显式声明类型?
- 什么是通用运行时组件 #ifdef 适用于Windows(UWP)而不是iOS
- Windows 上的 Cmake 不添加共享库路径(适用于 linux)
- Typedef适用于结构,但不适用于枚举,仅适用于C++
- 为什么函数模板不理解 NULL,但适用于 nullptr
- 链接器读取库,但在其中找不到符号?未解析的外部符号,但仅适用于 Win32 而不是 x64
- Netbeans 8.1(适用于 C/C++)找不到我的编译器(gcc-6.0.0 开发版本)
- random_shuffle() 适用于 Windows,但不能在 Linux 上编译
- C++指针到方法模板推导在面向 x86 时不编译,但适用于 x64
- 不在异常中嵌入std::字符串的规则是否仍然适用于move构造函数
- 移动文件夹Windows c++:适用于Vista及以上版本,不包括XP
- 适用于Android的Qt找不到任何兼容的设备答案找到但不知道如何
- 在Windows 7上不起作用,但它适用于Windows 8 dll。
- 可变参数模板转换为 std::function<R(ARGS...)>适用于 GCC 而不是 MSVC2013,为什么?
- C++11 cmath 函数不在 std 命名空间中,适用于 android NDK w/gcc-4.8 或 clang