在使用 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 ),未尝试。
参考文件:
- Error: no member named ‘to_string’ in namespace ‘std’; did you mean ‘toString’? Gradle+Cmake
- Android中CMake的使用之四调用第三方库的实战
- ANDROID_STL
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)