2011-07-24 25 views
25

śledzę this tutorial oraz w punkcie 5, otrzymuję następujący wynik z GCC:jni.h: Nie ma takiego pliku lub katalogu

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’ 

wiem, że to katalogi różnią się od systemu , więc starałem się odpowiednio dostosować polecenie, ale nie mogę znaleźć właściwego katalogu w moim systemie. Używam Ubuntu 10.04LTS.

+6

+1 dla "nie ważne jak proste, powinno być korzystne także dla innych." –

Odpowiedz

24

otworzyć typ terminala oraz:

locate jni.h 

To powinno powiedzieć, gdzie każdy plik o nazwie jni.h jest w systemie. Jestem na Ubuntu 11.04, i znajduje się pod adresem:

/usr/lib/jvm/java-6-openjdk/include/jni.h 
/usr/lib/jvm/java-6-sun-1.6.0.26/include/jni.h 

Być może trzeba je zdobyć z repo:

sudo apt-get install openjdk-6-jdk 

powinno wystarczyć, jeśli nie masz go zainstalowanego.

+3

Teraz, gdy mam fonud jni.h, co powinienem zrobić, aby dokończyć mój bulid? Dodaj to do mojej ścieżki? – bheussler

+0

Zainstaluj 'sudo apt-get install openjdk-8-jdk', ale nadal' locate jni.h' nie daje mi nic – Daniel

5

jni.h mieszka z JDK. Dla mnie jest to: jdk1.6.0_25/include/.

Domyślnie nie sądzę, że Ubuntu będzie miał JDK z bibliotekami programistycznymi, więc pobierz latest JDK version z Oracle i zainstaluj go gdzieś.

Lub można zainstalować openjdk jako @Leif zasugerowane, jeśli działa na 10.04 LTS. Chociaż osobiście wolę tę od Sun/Oracle.

1

w Ubuntu 14.04 Run:

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

Teraz, masz nagłówki w/usr/lib/jvm/java-7-openjdk-amd64/include

Dla OpenJDK 6:

sudo apt-get install openjdk-6-jdk openjdk-6-jre-lib 
Powiązane problemy