我一直关注this tutorial,在第5步,我从GCC获得以下输出:
HelloWorld.c:1:17: error: jni.h: No such file or directory
In file included from HelloWorld.c:3:
HelloWorld.h:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘void’
HelloWorld.c:5: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘void’
我知道他包含的目录因系统而异,所以我尝试相应地调整命令,但我似乎无法在我的系统上找到正确的目录。我使用的是Ubuntu 10.04LTS。
答案 0 :(得分:27)
打开终端并输入:
locate jni.h
那应该告诉你每个名为jni.h的文件在你的系统上。我在ubuntu 11.04上,它位于:
/usr/lib/jvm/java-6-openjdk/include/jni.h
/usr/lib/jvm/java-6-sun-1.6.0.26/include/jni.h
你可能还需要从回购中获取它:
sudo apt-get install openjdk-6-jdk
如果没有安装,应该可以解决问题。
答案 1 :(得分:5)
jni.h
与JDK生活在一起。对我而言:jdk1.6.0_25/include/
。
默认情况下,我认为Ubuntu不会将JDK与开发库配合使用,因此请从Oracle下载latest JDK version并将其安装在某处。
或者你可以安装{@ 1}}作为@Leif建议,如果它适用于10.04 LTS。虽然,我个人更喜欢Sun / Oracle的那个。
答案 2 :(得分:2)
在Ubuntu 14.04中运行:
sudo apt-get install openjdk-7-jdk openjdk-7-jre-lib
现在,你有一个标题到/ usr / lib / jvm / java-7-openjdk-amd64 / include
对于OpenJDK 6:
sudo apt-get install openjdk-6-jdk openjdk-6-jre-lib