首页 > 代码库 > Linux找不到jni.h和找不到jni_md.h原因及解决方案

Linux找不到jni.h和找不到jni_md.h原因及解决方案

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 + 头文件档案位置

Linux找不到jni.h和找不到jni_md.h原因及解决方案