Я пытаюсь заставить функцию to_string(NUMBER)
работать на моем компьютере Ubuntu в течение нескольких недель, но никогда не работает в среде QT или где-либо еще. Мой код отлично работает на моем Mac OSX, но когда я пытаюсь запустить его в Ubuntu, он жалуется, что to_string
не объявлен в области видимости. Любые решения для этого были бы весьма полезны. Я попытался обновить компилятор gcc, но это не устранило проблему. Пожалуйста помоги.
Я использую QT Creator 4.8.1, и я использую С++ и последнюю версию Ubuntu.
int Bint::operator*(int temp){
Bint b(to_string(temp));
return ((*this)*b);
}
Мне не хватало QMAKE_CXXFLAGS + = -std = С++ 0x в файле pro.
Могут быть разные причины, по которым это не сработает для вас: возможно, вам нужно квалифицировать имя с помощью std::
, или, возможно, у вас нет поддержки на С++ 11.
Это работает, если у вас есть поддержка на С++ 11:
#include <string>
int main()
{
std::string s = std::to_string(42);
}
Чтобы включить поддержку С++ 11 с помощью g++ или clang, вам необходимо передать опцию -std=c++0x
. Вы также можете использовать -std=c++11
в новых версиях этих компиляторов.
вы должны скомпилировать файл с поддержкой С++ 11
g++ -std=c++0x -o test example.cpp
Я исправил эту проблему, изменив первую строку в Application.mk из
APP_STL := gnustl_static
к
APP_STL := c++_static
to_string()
?QMAKE_CXXFLAGS += -std=c++0x
в файл .pro?