【问题标题】:jni.h: no such file or direcotory on chroot ubuntujni.h:chroot ubuntu 上没有这样的文件或目录
【发布时间】:2014-07-10 16:22:24
【问题描述】:

在makefile中,给出了路径:

 JAVA_HOME=/srv/schroot/precise_i386/usr/java

 INCLUDES=-I$(JAVA_HOME)/include/ -I. -I/usr/include/freetype2/

 CFLAGS=-ansi -fomit-frame-pointer -fno-strength-reduce -g -Wall -DLINUX=1 $(INCLUDES)


 mytarget.o:
      $(CC) $(CFLAGS) -c mytarget.cpp -o mytarget.o

但是当我编译代码时,我得到 jni.h: no such file or directory。 我还尝试在代码中给出 jni.h 的完整路径:

 #include </srv/chroot/precise_i386/usr/java/include/jni.h> 

也不行。 我确定 jni.h 文件在那里。

有人知道为什么吗?谢谢。

LJ

【问题讨论】:

    标签: java c++ ubuntu makefile chroot


    【解决方案1】:

    我不能告诉你为什么它不起作用,你应该做一些测试。 像这样:

    mytarget.o:
          ls -l $(JAVA_HOME)  
          $(CC) $(CFLAGS) -c mytarget.cpp -o mytarget.o
    

    现在检查 ls 是否正常工作,如果没有,可能是路径中的一些拼写错误?或未映射的网络文件系统?如果它有效,请继续包含:

    ls -l $JAVA_HOME/include
    

    最后到文件

    ls -l $JAVA_HOME/include/jni.h
    

    如果所有 ls 都在工作,但仍然找不到标题,那就太奇怪了。

    编辑:您也应该尝试:

    #include "jni.h" 
    

    代替:

    #include <jni.h> 
    

    【讨论】:

    • 非常感谢您的回复。我试过 ls -l $(JAVA_HOME)/include/jni.h,我没有这样的文件或目录。问题是因为我使用 chroot。我设置的路径应该是/usr/java,而不是/srv..../java/。再次感谢。
    猜你喜欢
    • 2016-05-13
    • 2016-01-05
    • 2018-01-28
    • 2021-12-29
    • 2018-01-16
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    相关资源
    最近更新 更多