Android ndk std :: to_string支持
我正在使用android NDK r9d和工具链4.8,但我不能使用std :: to_string函数,编译器会引发此错误:
error: 'to_string' is not a member of 'std'   android ndk不支持这个function吗? 我尝试APP_CPPFLAGS := -std=c++11没有运气。 
 你可以尝试LOCAL_CFLAGS := -std=c++11 ,但似乎有几个string函数不适用于Android NDK 。 
另一种方法是自己实现它。
 #include <string> #include <sstream> template <typename T> std::string to_string(T value) { std::ostringstream os ; os << value ; return os.str() ; } int main() { std::string perfect = to_string(5) ; } 
NDK r9 +可以使用llvm-libc ++ ,它可以完全支持cpp11。
在你的Application.mk中,你必须添加:
 APP_STL:=c++_static 
要么
 APP_STL:=c++_shared 
摇篮
如果你正在寻找Gradle构build系统的解决scheme。 看这个答案 。
简短的回答。
添加string
 arguments "-DANDROID_STL=c++_shared" 
 在你的build.gradle 。 喜欢 
 android { ... defaultConfig { ... externalNativeBuild { cmake { ... arguments "-DANDROID_STL=c++_shared" } } } ... } 
实验性的Gradle插件
如果你正在寻找一个解决scheme的实验Gradle插件,这对我工作…
用com.android.tools.build:gradle-experimental:0.9.1testing
 model { ... android { ... ndk { ... stl = "c++_shared" } } }