Makefile:致命错误:jni.h:没有这样的文件或目录

时间:2018-10-02 20:41:35

标签: java makefile raspberry-pi java-native-interface raspbian

我正在尝试make this library,并且正在遵循 Maven 段落中的说明。但是,我在步骤上失败

make clean all

,出现以下错误:

  

ObjectManager.c:35:17:致命错误:jni.h:没有此类文件或目录
  #include <jni.h>

因此,按照this questionthis question的回答,我试图将jni.h文件的位置添加到编译器标志中。就我而言,该文件位于

/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/include

到目前为止,我已经尝试过:

make -I/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/include clean all
make -I"${JAVA_HOME}/include" -I"${JAVA_HOME}/include/linux" clean all
export JAVA_INCLUDE_DIR=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/include

简而言之,所有提议的解决方案都无法正常工作,makefile仍然失败,并显示相同的错误。该如何解决?

1 个答案:

答案 0 :(得分:2)

此库已具有正确的设置[请参阅CFLAGS]。从其目标/ jni中的makefile中:

IDIR =./include
CC=gcc
CFLAGS=-fPIC -Wall -g -I. -I$(IDIR) -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -I/usr/lib/x86_64-linux-gnu/glib-2.0/include $(shell pkg-config --cflags $(PKGDEPS))

这很可能意味着您的JAVA_HOME设置不正确。