您的位置:首页 > 编程语言 > C语言/C++

在JNI c++中使用c11

2017-09-28 16:39 96 查看
在上篇文章中我们使用gradle自动生成Android.mk并自动调用ndk-build编译生成JNI so库,但是cpp源文件非常简单,当我们需要用到std::thread等c11特性时,还需要对gradle脚本做些改动。cpp源文件中包含
<thread>
,编译报错:

E:\ShareFolder\project\AndroidStudioProjects\JNIDemo\jlib\src\main\jni\demo.cpp:3:10: fatal error:
'thread' file not found
#include <thread>


然后在gradle.build.android.defaultConfig.ndk中添加

cFlags "-std=c++11"


然后还是一样的错误。后来在stackoverflow找到了答案:Android NDK: “fatal error: ‘thread’ file not found”

stl "stlport_static"
改成
stl "gnustl_static"
,编译通过。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  gradle c11 jni thread