我正在尝试make
this library我按照 Maven 段落中的说明进行操作。但是,我失败了
make clean all
出现以下错误:
ObjectManager.c:35:17: fatal error: jni.h: No such file or directory
#include <jni.h>
所以,遵循 this question 的答案和 this 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 仍然失败并出现相同的错误。怎么解决这个问题?
最佳答案
该库已具有正确的设置 [请参阅 CFLAGS]。来自 target/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 设置不正确。
关于java - Makefile: fatal error :jni.h:没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52616097/