Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 致命错误:jni#u md.h:没有这样的文件或目录“include”;jni医学博士;_Java_C++_C_Linux_Gcc - Fatal编程技术网

Java 致命错误:jni#u md.h:没有这样的文件或目录“include”;jni医学博士;

Java 致命错误:jni#u md.h:没有这样的文件或目录“include”;jni医学博士;,java,c++,c,linux,gcc,Java,C++,C,Linux,Gcc,在ubuntu上执行gcc命令为JNI生成.a或.so文件时,openjdk 8/oraclejdk8都出现以下错误 $gcc -I/usr/lib/jvm/java-8-openjdk-amd64/include -c MainImpl1.c -o MainImpl1.o In file included from MainImpl1.c:1:0: /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:45:20: fatal error: jni_

在ubuntu上执行
gcc
命令为JNI生成.a或.so文件时,openjdk 8/oraclejdk8都出现以下错误

$gcc -I/usr/lib/jvm/java-8-openjdk-amd64/include -c MainImpl1.c -o MainImpl1.o

In file included from MainImpl1.c:1:0:
/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:45:20: fatal error: jni_md.h: No such file or directory
 #include "jni_md.h"
                ^
compilation terminated.

$gcc -I/usr/lib/jvm/java-8-oracle/include -c MainImpl1.c -o MainImpl1.o

In file included from MainImpl1.c:1:0:
/usr/lib/jvm/java-8-oracle/include/jni.h:45:20: fatal error: jni_md.h: No such file or directory
 #include "jni_md.h"
                ^
compilation terminated.
我已经给出了生成.a文件的示例,但在.so文件生成中也发现了同样的问题

但同样的
gcc
命令适用于openjdk7/oraclejdk7


这里有什么问题?

我认为您没有添加包含
jni\u md.h
的include目录

试一试

如果您不知道jni_md.h在哪里,请使用
find

find / -name jni_md.h 2> /dev/null

根据您的喜好,有时最好在找到它们之后,比如如果您正在构建其他人的项目,而不想篡改他们的make文件。
$gcc -I/usr/lib/jvm/java-8-oracle/include -I/usr/lib/jvm/java-8-oracle/include/linux -c MainImpl1.c -o MainImpl1.o
find / -name jni_md.h 2> /dev/null