在使用 Android Studio 编写 C++ 代码时,出现如下错误:
nomember named 'to_string' in namespace 'std'
原因:
这是因为 NDK 中默认使用的是最小的 STL 库,所以就会产生这个问题。
解决方法:
- 方法1:修改 gradle
在 build.gradle 文件的 cmake 配置处配置 NDK 使用的 STL 库版本:
externalNativeBuild {
cmake {
arguments "-DANDROID_STL=c++_shared" //添加此行
}
}
- 方法2:升级 NDK 的版本(未测试)
听朋友说升级 NDK 的版本也可以避免出现此问题(从 16 升级到 21 ),未尝试。
参考文件: