Мне удалось найти немало вопросов по этому поводу, но все, похоже, указывают, что он должен работать с gcc 4.8.1, если вы компилируете с помощью -std = С++ 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;
}
Есть идеи? Это на 64-разрядной версии Windows 7 с использованием последней версии MinGW.
MinGW - это порт GCC для окон. Ваша проблема - проблема MinGW (как уже отмечалось в некоторых комментариях)
Если вы планируете создавать REAL C++ в Windows, я предлагаю вам использовать MSVC. Нет, действительно, несмотря на то, что Microsoft была злой.
Во всяком случае, здесь Coliru показывает, что он отлично работает на законных gcc: прочь! ,
И вот как я это сделаю (если вы используете C++ 11, может также использовать фактический STL?)
(Примечание. Если вы хотите использовать кросс-платформу, вы можете использовать clang или соответствующие инструменты сборки)
testFunction