/ / fataler Fehler: jni.h: Keine solche Datei oder Verzeichnis Netbeans IDE - java, c ++, netbeans, jni

fataler Fehler: jni.h: Keine solche Datei oder Verzeichnis Netbeans IDE - Java, C ++, Netbeans, Jni

Ich möchte lernen, wie wir eine Java-Funktion von C ++ aus aufrufen können. Nachdem ich ein paar Links folgte, wurde mir klar, dass wir die folgende Header-Datei in C ++ hinzufügen müssen

#include <jni.h>

aber wenn ich diese Datei in C ++ - Datei in Netbeans IDE Ich habe folgenden Fehler erhalten

fatal error: jni.h: No such file or directory

Wie kann dieser Fehler behoben werden? Ich bin gerade Anfänger in JNI.

Ich habe die vorherigen Fragen von stackoverflow durchgesehen, konnte das Problem jedoch nicht durchgehen.

Hier ist meine komische Ausgabe:

"/C/MinGW/MSYS/1.0/bin./make.exe" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make.exe[1]: Entering directory `/c/Users/Simer/Documents/NetBeansProjects/JniDemo"
"/C/MinGW/MSYS/1.0/bin./make.exe"  -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/jnidemo.exe
make.exe[2]: Entering directory `/c/Users/Simer/Documents/NetBeansProjects/JniDemo"
mkdir -p build/Debug/MinGW-Windows
rm -f "build/Debug/MinGW-Windows/main.o.d"
g++    -c -g -MMD -MP -MF "build/Debug/MinGW-Windows/main.o.d" -o build/Debug/MinGW-Windows/main.o main.cpp
main.cpp:9:17: fatal error: jni.h: No such file or directory
#include <jni.h>
^
compilation terminated.
make.exe[2]: *** [build/Debug/MinGW-Windows/main.o] Error 1
make.exe[2]: Leaving directory `/c/Users/Simer/Documents/NetBeansProjects/JniDemo"
make.exe[1]: *** [.build-conf] Error 2
make.exe[1]: Leaving directory `/c/Users/Simer/Documents/NetBeansProjects/JniDemo"
make.exe": *** [.build-impl] Error 2

BUILD FAILED (exit value 2, total time: 2s)

Antworten:

1 für die Antwort № 1

Sie kompilieren mit MinGW, ohne Java-Header einzubeziehen

Versuchen Sie, diese Option zu Ihrem Kompilierungsbefehl hinzuzufügen -I"c:/path/to/jdk/include" -I"c:/path/to/jdk/include/win32" -D__int64="long long".

Die letzte Option besteht darin, den Fehler zu vermeiden, der verursacht wird, weil der Windows-Compiler den Typ __int64 verwendet und gcc long long


0 für die Antwort № 2

Hast du dir das angesehen? Netbeans JNI Tutorial?

Es geht alles durch, was Sie tun müssen, um ziemlich genau zu sein.