【发布时间】:2015-01-04 15:33:00
【问题描述】:
我有最新版本的 64 位 NDK (r10c),以及可以下载的最新版本的 Android Studio (0.8.14)。
我正在进行许多 JNI 调用以使用 String、Vector、Atomic 等。但我不知道如何使用线程和互斥锁。
他们都给我同样的错误
Error:(92, 5) error: 'thread' is not a member of 'std'
Error:(93, 5) error: 'mutex' is not a member of 'std'
我确定 NDK 使用的是 4.9 的 gnu-libstdc++。如果我在文件中输入#error,我会看到我的错误并且编译停止。看来我没有遗漏任何定义,因为我可以将#error 放入类中并查看它。
这是我的 build.gradle 中的 ndk 配置
ndk {
moduleName "myLib"
ldLibs "log"
stl "gnustl_shared"
cFlags "-std=c++11 -frtti -fexceptions -pthread"
}
-frtti 和 -pthread 似乎没有区别。我也试过gnustl_shared的stl和gnustl_static,没区别。
【问题讨论】:
标签: android android-ndk android-studio gnu build.gradle