c++ - GCC 4.8.1 std::to_string 错误

标签 c++ gcc c++11 mingw

<分区>

我已经能够找到很多关于此的问题,但似乎所有问题都表明如果您使用 -std=c++11 进行编译,它应该可以与 gcc 4.8.1 一起使用

这是我的 g++ --version 输出:

g++ (GCC) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

然而,当我尝试使用 std::tostring 编译一些东西时,即使是像这样的简单命令:

g++ -O0 -g3 -Wall -c -fmessage-length=0 -std=c++11 -o "Main.o" "Main.cpp"

我收到以下错误:

Main.cpp: In function 'int main()':
Main.cpp:6:26: error: 'to_string' is not a member of 'std'
  std::string intString = std::to_string(1335);

即使是像这样简单的文件:

#include <string>
#include <cstdio>

int main()
{
    std::string intString = std::to_string(1335);
    printf(intString.c_str());
    return 0;
}

有什么想法吗?这是在 Windows 7 64 位上使用最新版本的 MinGW。

最佳答案

MinGW 是 GCC 到 Windows 的一个端口。您的问题是 MinGW 问题(正如一些评论已经注意到的那样)
如果您打算在 Windows 上进行真正的 C++ 开发,我建议您使用 MSVC。不,真的,尽管微软是邪恶的。
无论如何,这是 Coliru 显示它在合法的 gcc 上工作正常:away! .
this我会怎么做(如果您使用的是 C++11,还不如使用实际的 STL?)

(注意:如果你想跨平台,你可以使用 clang 或适当的构建工具)

关于c++ - GCC 4.8.1 std::to_string 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22571838/

相关文章:

C++标准对与 vector 加速

c++ - 如何通过 DeviceIoControl 功能使用 ATA 命令读取大磁盘(如 1 ,2 TB)?

c++ - 当信号在 Matlab 中的原始数据中时计算频率轴上的 FFT

c - c 中的动态类型

c++ - gcc-4.8 (C++11) 中的预计算

C++将参数中的函数传递给另一个函数

c++ - 检查是否设置了 k 中 1 到 n 之间的所有位

c++ - 我可以使用我的部分数据作为锁吗?

c++ - 我可以使用自定义删除器简洁地声明 std::unique_ptr 吗?

c++ - boost::bind 到 std::lower_bound 可以工作,但 C++0x std::bind 无法编译