2012-03-30 13 views
18

Używam Eclipse do generowania pliku nagłówkowego JNI. Zajrzałem pod numer program files\java\jre6\bin i znalazłem wiele plików .exe i .dll, ale nie mogłem znaleźć polecenia javah, które było w dokumentacji dotyczącej używania JNI do tworzenia powiązań z bibliotekami C.
Każda pomoc?Jak wygenerować plik nagłówkowy JNI w Eclipse

+0

to sprawdzić : http: // stackoverflow.com/questions/10483959/javah-error-android-app-activity-not-found/25989225 # 25989225 –

Odpowiedz

32

Użyj poniższego panelu, aby zdefiniować nowe narzędzie zewnętrzne dla pliku javah.exe.

Wskaż "Lokalizacja" narzędzia javah.exe.

Set "katalog roboczy" do

${workspace_loc:/${project_name}/bin} 

Set "Argumenty" do:

-classpath ${project_classpath} -v -d ${workspace_loc:/${project_name}/src} ${java_type_name} 

enter image description here

Aby uruchomić narzędzie, należy zaznaczyć plik źródłowy Java w opakowaniu Explorer i metę narzędzie.

enter image description here

Naciśnij klawisz F5, aby odświeżyć th projektu, aby zobaczyć nowo wygenerowany plik.

+1

czy możesz wyjaśnić argumenty ... które będą naprawdę pomocne ... dzięki – aProgrammer

+1

Kliknij "Zmienne ..." przycisk. Opis dla każdego jest tam wymieniony. – Java42

+0

woo hoo! Wspaniała praca. –

2

Wystarczy kilka informacji ...

Niestety rozwiązanie powyżej nie wyszło mi, ale rozwiązanie w tym wątku zrobił:

Using javah -jni with an Eclipse project structure

Z powyższych argumentów, mam :

Exception in thread "main" java.lang.IllegalArgumentException: Not a valid class name:path/to/project

I okazało się, że problem był w spacja ścieżka do mojego projektu. Zawijanie ścieżek w cudzysłowach pomogło w rozwiązaniu powyżej.

0

Lokalizacja

// javah.exe ścieżka

C: \ Program Files \ Java \ jdk1.7.0_79 \ bin \ javah.exe

katalog roboczy

$ {workspace_loc:/$ {project_name}/bin}

Argumenty

-classpath $ {project_classpath} -v -d $ {workspace_loc:/$ {PROJECT_NAME}/$ {} JNI java_type_name}

otwarty Java klasy i uruchamiania narzędzi

Powiązane problemy