ara*_*van 17 java linux java-native-interface header-files java-8
我正在尝试编译以下项目:
https://github.com/entropia/libsocket-can-java
Run Code Online (Sandbox Code Playgroud)
我总是收到此错误消息?有谁知道如何解决它,它可能是Linux上的JDK 1.8.0.11中的一个错误(x64 Debian Wheezy)?
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"
^
Run Code Online (Sandbox Code Playgroud)
Sal*_*lem 25
看来是这样.#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
Run Code Online (Sandbox Code Playgroud)
正如Absurd-Mind和Mikkel的评论中所述,还可以选择将该路径添加到makefile编译器选项中:
-I$(JAVA_HOME)/include/linux/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14113 次 |
| 最近记录: |