clion编译jni,找不到jni.h的解决办法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了clion编译jni,找不到jni.h的解决办法相关的知识,希望对你有一定的参考价值。
参考技术A 在windows环境下生成的动态库是 dll在linux下生成so
在mac下生成的是dylib
所以对于Android的开发者来说,还是要用ndk的工具
把在idea生成的.h文件粘贴到clion的项目中就可以了,
如果找不到jni.h可以在CMakeList.txt中添加对jni.h文件的引用
如下:
后面三行根据jdk的实际位置填写,作用是导入jni相关的头文件;其他的操作系统可能不完全一致
复制.h头文件 com_shenby_jni_JniExample.h
实现该文件定义的函数 com_shenby_jni_JniExample.c
在CMakeList.txt中添加生成动态共项库
add_library:生成一个库,add_executable:生成一个可执行文件
hello:是生成共享库的名字,前面会自动加上lib前缀,如这里windows生成的是 libhello.dll
SHARED:库的类型为动态,windows上生成.dll,而STATIC 则是生成静态库,windows生成.a文件
com_shenby_jni_JniExample.c :c源文件,多个文件就添加在后面,切记不能添加上面的com_shenby_jni_JniExample.h
文件,否则生成的库中的函数为空
结果如下
就可以把该dll文件粘贴到idea的项目根目录中运行了
以上是关于clion编译jni,找不到jni.h的解决办法的主要内容,如果未能解决你的问题,请参考以下文章
JNI 编译致命错误:jni.h: No such file or directory
如何编写代码以使用 microsoft visual c++ 调用 JNI [关闭]
Android JNI学习笔记-数据类型映射以及native调用java