2015-09-08 49 views
0

我想知道我們如何從C++調用一個java函數,在遵循一些鏈接之後,我才知道我們需要在C++中添加以下頭文件文件致命錯誤:jni.h:沒有這樣的文件或目錄Netbeans IDE

#include <jni.h> 

,但是當我在NetBeans IDE中加入C++文件這個文件我得到了以下錯誤

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

如何這個錯誤被刪除,我只是在JNI初學者。

我經歷了以前的問題在stackoverflow問,但無法通過問題。

這裏是我的comile輸出:

"/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) 

回答

1

您與MinGW的編譯不包括Java頭,這就是爲什麼它抱怨找不到

嘗試將此選項添加到您的編譯命令-I"c:/path/to/jdk/include" -I"c:/path/to/jdk/include/win32" -D__int64="long long"

最後一個選項是爲了避免由於windows編譯器使用類型__int64和gcc使用long long造成的錯誤。

相關問題