to_string没有在范围内声明

我试图让我的Ubuntu电脑上的to_string(NUMBER)函数工作了几个星期,但它永远不会在QT环境或其他任何地方工作。 我的代码完全在我的Mac OSX上工作,但是当我尝试在Ubuntu中运行时,它抱怨to_string未在范围内声明。 任何解决scheme,将不胜感激。 我试图更新gcc编译器,但没有解决问题。 请帮忙。

我正在使用QT Creator 4.8.1,我正在使用C ++和最新版本的Ubuntu。

 int Bint::operator*(int temp){ Bint b(to_string(temp)); return ((*this)*b); } 

我错过了pro文件中的QMAKE_CXXFLAGS + = -std = c ++ 0x。

可能有不同的原因,为什么它不适合你:也许你需要用std::来限定名字,或者你没有C ++ 11的支持。

这个工作,只要你有C ++ 11的支持:

 #include <string> int main() { std::string s = std::to_string(42); } 

要使用g ++或clang启用C ++ 11支持,您需要传递选项-std=c++0x 。 你也可以在新版本的编译器上使用-std=c++11

你必须用c ++ 11支持来编译这个文件

 g++ -std=c++0x -o test example.cpp 

我通过更改Application.mk中的第一行来解决此问题

 APP_STL := gnustl_static 

 APP_STL := c++_static