2023-01-19 371
我正在尝试编译以下项目:
https://github.com/entropia/libsocket-can-java
我总是收到此错误消息?有人知道如何修复它吗?在linux(x64 debian wheezy)上,JDK 1.8.0.11中可能是一个错误吗?
In file included from jni/de_entropia_can_CanSocket.h:2:0,
from jni/cansocket.cpp:23:
/opt/jdk1.8.0_11/include/jni.h:45:20: fatal error: jni_md.h: No such file or directory
#include "jni_md.h"
^
似乎是如此. #include “jni_md.h”将文件包含在与jni.h同一目录中,但放在linux文件夹中.
在以前的JDK版本中,似乎文件和另一个位于include/linux文件夹中,但是两个文件都在include中都有符号链接.
.
因此,您只需为两个文件创建符号链接:
$ sudo ln -s /opt/jdk1.8.0_11/include/linux/jni_md.h /opt/jdk1.8.0_11/include/jni_md.h
$ sudo ln -s /opt/jdk1.8.0_11/include/linux/jawt_md.h /opt/jdk1.8.0_11/include/jawt_md.h
如《荒谬》和《米克尔评论》中所述,还有可以将该路径添加到makefile编译器选项中:
-I$(JAVA_HOME)/include/linux/
不,这不是错误.解决此问题的正确方法是提供-I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux编译器选项.这样,您的构建脚本仍然可移植.
OP在Linux上面临问题,但是如果有人在Windows上遇到此问题,请添加以下编译器选项.
-I”%JAVA_HOME%\include” -I”%JAVA_HOME%\include\win32″
java_home指向您的JDK安装目录,通常’C:\Program Files\Java\jdk1.{7|8}.{}_{xx}’
也有可能部署了一个以上的JDK,而链接到$JAVA_HOME的一个也不是正确的.您需要更新$JAVA_HOME其中包含jni_md.h文件.
以上所述是小编给大家介绍的Linux上的JDK 1.8缺少JNI包含文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/25763.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态