jni.h: такого файла или директории нет в chroot ubuntu

0

В файле 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

Теги:
makefile
chroot

1 ответ

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 работают и до сих пор не могут найти заголовок, это действительно странно.

EDIT: вы также должны попробовать:

#include "jni.h" 

вместо:

#include <jni.h> 
  • 0
    Спасибо вам большое за ваш ответ. Я попытался ls -l $ (JAVA_HOME) /include/jni.h, у меня нет такого файла или каталога. Проблема в том, что я использую chroot. Я должен указать путь / usr / java вместо /srv..../java/. Еще раз спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню