致命错误:jni.h:没有这样的文件或目录Netbeans IDE

时间:2015-09-08 07:20:40

标签: java c++ netbeans java-native-interface

我想知道如何从C ++调用java函数,在按照一些链接后我才知道我们需要在C ++文件中添加以下头文件

#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)

2 个答案:

答案 0 :(得分: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而导致的错误。

答案 1 :(得分:0)

你看过Netbeans JNI tutorial吗?

它会详细介绍你应该做的所有事情。