jni.h:在chroot ubuntu上没有这样的文件或目录

时间:2014-07-10 16:22:25

标签: java c++ ubuntu makefile chroot

在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:没有这样的文件或目录。 我还试图在代码中给出jni.h的完整路径:

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

也不起作用。 我确定jni.h文件在那里。

任何人都知道为什么?感谢。

LJ

1 个答案:

答案 0 :(得分:0)

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

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>