2015-09-08 2 views
0

Я хочу узнать, как мы можем вызывать java-функцию из C++ после того, как после некоторых ссылок я узнал, что нам нужно добавить следующий заголовочный файл в C++ файлНеустранимая ошибка: jni.h: Нет такого файла или каталога Netbeans IDE

#include <jni.h> 

, но когда я добавил этот файл в файл C++ в Netbeans IDE я получил следующие ошибки

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) 

ответ

0

Вы смотрели на Netbeans JNI tutorial?

Он проходит через все, что вам нужно сделать в довольно хорошей детализации.

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.

Смежные вопросы