Eclipse中使用JNI编写C代码时出现“Unresolved inclusion: <***.h>”的解决方案
2016-05-07 20:06
453 查看
1 致谢
感谢初道网友(估计是这个名字吧 不过也有可能是转载的 我还是由衷地表达一下谢意)链接如下:http://www.51testing.com/html/02/n-862402.html
2 问题描述
今天在学习JNI编程时遇到一个问题 编写C代码时在头文件引入的地方总会出现一个问题“Unresolved inclusion: <***.h>” 最常见的就是“Unresolved inclusion: <jni.h>”
基本上所有通用的头文件都会出现这个错误 从而会导致后面的很多函数调用等等各种错误
其实归根到底 就C语言基本的头文件库都没有都正确的引入
所以我们需要进行一个引入的操作
3 解决方案
以下是我的解决方案 其中参考了上文中的资料我觉得这种方案还是比较好的 不过其实可以进行简化
大家可以看看作为参考
1 添加系统环境变量
首先是添加系统环境变量 也就是在“系统属性”中我的定义是
变量名:ANDROID_NDK_HOME
变量值:(NDK根目录)
我的目录是:E:\Path\android-ndk-r10e-windows-x86_64\android-ndk-r10e
最后一个末节点文件夹名是“android-ndk-版本号”
2 添加Eclipse中C/C++环境变量
然后进入Eclipse中进行设置点击 Windows→Preferences→C/C++→Build→Environmen
这时,如果之前已经在系统环境变量中添加了NDK的根目录,那么点右边的Select即可从系统中选择该变量,选中后点OK
然后的效果如图
之后列表中将出现导入的环境变量 如图
3 添加NDK的C语言通用库
然后进入项目属性设置,将对应的C语言通用库添加进去:Project→Properties→C/C++ General→Paths and Symbols
然后在Include选项卡中 点击Add
之后就要填入对应的内容 首先点击“Variables...”
然后选择“ANDROID_NDK_HOME” 然后OK
变成这样
之后需要在后面添加由 Android SDK 对应C语言库的路径
Directory:${ANDROID_NDK_HOME}/platforms/android-SDK版本号/arch-arm/usr/include
SDK版本号跟项目的目标SDK版本相对应
SDK版本可以查看project.properties文件的target参数值
project.properties文件就在Android项目的目录中(一般是最后一个文件)
我的Directory的路径是:${ANDROID_NDK_HOME}/platforms/android-19/arch-arm/usr/include
大家可以根据上面的内容自行查找
填好后点击OK
我记得Eclipse应该会提示你“rebuild”之类的 这个选择同意
这样Eclipse才会使用更改后的设置对你的项目重新进行建立 这样才能解决开头出现的问题
3 测试
测试成功相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Native 绘图方法
- MyEclipse Web Project转Eclipse Dynamic Web Project
- Windows Clang开发环境备忘
- 傻瓜式用Eclipse连接MySQL数据库
- Eclipse引入jquery报错如何解决
- 让Flex Builder 3.0与Eclipse3.4整合起来
- Eclipse配置Javascript开发环境图文教程
- 使用zend studio for eclipse不能激活代码提示功能的解决办法
- 图解Eclipse j2ee开发环境的搭建过程
- 两种Eclipse部署动态web项目方法
- ext for eclipse插件安装方法
- 解决Fedora14下eclipse进行android开发,ibus提示没有输入窗口的方法详解
- eclipse导入jquery包后报错的解决方法
- Eclipse 格式化代码时不换行与自动换行的实现方法
- Eclipse下jQuery文件报错出现错误提示红叉
- eclipse如何忽略js文件报错(附图)
- eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
- jquery库或JS文件在eclipse下报错问题解决方法