2011-07-24 39 views
25

我一直在关注​​,在步骤5,我正在从GCC以下的输出:jni.h:没有这样的文件或目录

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’ 

我知道他的include目录从系统而异,所以我试图相应地调整命令,但我似乎无法在我的系统上找到正确的目录。我正在使用Ubuntu 10.04LTS。

+6

+1对''不管多么简单,对其他人都应该是有好处的。' –

回答

24

打开一个终端,输入:

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 

应该做的伎俩,如果你没有安装它。

+3

现在我已经拥有了jni.h,为了完成我的工作,我该怎么做?将它添加到我的路径? – bheussler

+0

安装'sudo apt-get install openjdk-8-jdk',但是仍然找到'jni.h'并没有给我提供任何信息 – Daniel

5

jni.h住在JDK中。对我来说它是:jdk1.6.0_25/include/

默认情况下,我不认为Ubuntu会在开发库中包含JDK,因此请从Oracle下载latest JDK version并将其安装到某处。

或者您可以安装openjdk作为@Leif建议如果它在10.04 LTS上工作。尽管我个人比较喜欢Sun/Oracle的。

1

在Ubuntu的14.04运行:

sudo apt-get install openjdk-7-jdk openjdk-7-jre-lib 

现在,你有一个标题为/ usr/lib目录/ JVM/Java的7-的OpenJDK,AMD64 /包括

对于OpenJDK的6:

sudo apt-get install openjdk-6-jdk openjdk-6-jre-lib 
相关问题