我已经能够找到相当多的问题,但似乎都指出,它应该与gcc 4.8.1工作,如果你编译-std=c++11
下面是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;
}
任何想法?
MinGW是GCC在windows上的一个端口。你的问题是一个MinGW问题(正如一些评论已经注意到的)
如果你打算在windows上进行REAL c++开发,我建议你使用MSVC。不,真的,尽管微软很邪恶。
无论如何,这里是Coliru显示它在合法的gcc: away上工作良好。
这就是我将如何做的(如果你使用c++11,不妨使用实际的STL?)
(注意:如果您希望它跨平台,您可以使用clang或适当的构建工具)