GCC 4.8.1 std :: to_string error [duplicate]

0

Мне удалось найти немало вопросов по этому поводу, но все, похоже, указывают, что он должен работать с 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.

  • 1
    Просьба предоставить код, где он показывает ошибку.
  • 0
    Вы должны хотя бы показать нам определение testFunction
Показать ещё 14 комментариев
Теги:
c++11
gcc
mingw

1 ответ

4
Лучший ответ

MinGW - это порт GCC для окон. Ваша проблема - проблема MinGW (как уже отмечалось в некоторых комментариях)
Если вы планируете создавать REAL C++ в Windows, я предлагаю вам использовать MSVC. Нет, действительно, несмотря на то, что Microsoft была злой.
Во всяком случае, здесь Coliru показывает, что он отлично работает на законных gcc: прочь! ,
И вот как я это сделаю (если вы используете C++ 11, может также использовать фактический STL?)

(Примечание. Если вы хотите использовать кросс-платформу, вы можете использовать clang или соответствующие инструменты сборки)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню