如何找到jni.h?

2022-08-31 12:00:55

在Ubuntu 12.04中,我安装了来自sun/oracle的jdk7。当 时,它将打印多个位置locate jni.h

/usr/lib/jvm/java-6-openjdk-amd64/include/jni.h
/usr/lib/jvm/jdk1.7.0_07/include/jni.h
...

在 JDK 生成的头文件中,有 ,目前它抱怨include <jni.h>

fatal error: jni.h: No such file or directory.

在我的 中,没有指定位置。我问是否有可能配置某些系统参数,以使(例如)的路径在编译时已知。Makefilejni.hjni.h/usr/lib/jvm/jdk1.7.0_07/include/jni.h


答案 1

您必须告诉编译器包含目录的位置。像这样:

gcc -I/usr/lib/jvm/jdk1.7.0_07/include

但这取决于您的制作文件。


答案 2

它需要和文件,试试这个jni.hjni_md.h

gcc -I/usr/lib/jvm/jdk1.7.0_07/include \
  -I/usr/lib/jvm/jdk1.7.0_07/include/linux filename.c

这将包括广泛的JNI文件和Linux所需的文件。


推荐