У меня есть последняя версия 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 внутри класса и увидеть его.
Вот конфигурация ndk в моем build.gradle
ndk {
moduleName "myLib"
ldLibs "log"
stl "gnustl_shared"
cFlags "-std=c++11 -frtti -fexceptions -pthread"
}
Кажется, что -frtti и -pthread не имеют значения. Я также пробовал stl gnustl_shared, а также gnustl_static, без разницы.