jni.h 没有那个文件或目录

jni.h no such file or directory

为了为 NXJ brick 安装 leJos,我遵循了文档教程,我设置了这样的变量:`

export NXJ_HOME=$HOME/leJOS_NXJ_0.9.1beta-3

export LEJOS_NXT_JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

export PATH=$HOME/mohand/leJOS_NXJ_0.9.1beta-3/bin:$PATH

` 我转到构建目录以在终端中生成 ant 命令,但构建失败并出现以下错误,我知道问题肯定出在 jni.h 中,我试图修复它但我不能:

 Buildfile: /home/mohand/leJOS_NXJ_0.9.1beta-3/build/build.xml

jlibnxt:

clean:

jlibnxt:
       [cc] 1 total files to be compiled.
       [cc] In file included from /home/mohand/leJOS_NXJ_0.9.1beta-3/build/libnxt/main_jlibnxt.c:30:0:
       [cc] /home/mohand/leJOS_NXJ_0.9.1beta-3/build/libnxt/jlibnxt.h:2:10: fatal error: jni.h: Aucun fichier ou dossier de ce type
       [cc]  #include <jni.h>
       [cc]           ^~~~~~~
       [cc] compilation terminated.

BUILD FAILED
/home/mohand/leJOS_NXJ_0.9.1beta-3/build/build.xml:87: The following error occurred while executing this line:
/home/mohand/leJOS_NXJ_0.9.1beta-3/build/libnxt/build.xml:39: gcc failed with return code 1

Total time: 0 seconds

你有没有设法让这个工作?我最终让它工作,不得不在 build.xml 中更改以下行:

<condition property="jni.include.dir" value="${java.home}/../include">

收件人:

<condition property="jni.include.dir" value="${java.home}/include">

显然,过去的行为是将 /jre 附加到 JAVA_HOME,因此需要 /../,但现在看来这不再发生了。

希望这对您有所帮助,您还没有放弃。

编辑:我还应该补充一点,您将需要使用 Java 8。安装 OpenJDK 8(并编辑 build.xml)后,我能够 运行 ant 完成构建然后编译,link 并从终端上传。如果您想将 eclipse 与插件一起使用,则需要使用 2018-09 版,因为这是最新的版本。请记住将 JRE 设置为 Java 8。之后一切正常!