1. 背景
很多朋友在日常工作中会使用到java的jni功能。
在Linux环境下当编译c文件时可能会报出找不到jni.h、找不到jni_md.h的错误。
2.简介
首先,不要怀疑是jdk出现了不完整的问题,这会让你走很多弯路,最后还解决不了问题。
以我的jdk1.7.0_75为例,两个头文件的位置分别为:
jni.h jdk1.7.0_75/include
jni_md.h jdk1.7.0_75/include/linux
3.出现该问题的原因
将要编译的文件中引入了#inlcude<jni.h>头文件,
而gcc在编译时没有找到这两个头文件,因此报出找不到的提示。
4.解决方案
在gcc编译时,手动引入jni.h及jni_md.h两个头文件
使用gcc -I + 头文件档案位置