Path 无法打开包含文件";“jni.h”;,不存在这样的文件或目录

Path 无法打开包含文件";“jni.h”;,不存在这样的文件或目录,path,java-native-interface,compiler-errors,fatal-error,Path,Java Native Interface,Compiler Errors,Fatal Error,我正在实现简单的JNI示例,如中所示 在最后的第二步,当编译C源代码时 使用以下命令: C:\Program Files\Java\jdk1.6.0_21> cl -IC:\Program Files\Java\jdk1.6.0_21\include -IC:\Program Files\Java\jdl1.6.0_21\include\win32 -MD -LD Callbacks.c -FeCallbacks.dll 我得到以下错误: 无法打开包含文件“jni.h”,不存在此类文件

我正在实现简单的JNI示例,如中所示

在最后的第二步,当编译C源代码时

使用以下命令:

C:\Program Files\Java\jdk1.6.0_21> cl -IC:\Program Files\Java\jdk1.6.0_21\include -IC:\Program Files\Java\jdl1.6.0_21\include\win32 -MD -LD Callbacks.c -FeCallbacks.dll
我得到以下错误:

无法打开包含文件“jni.h”,不存在此类文件或目录

但是
jni.h
确实存在于java/jdk1.6.0_21/include文件夹中


如何删除此错误?

因为路径包含空格,您需要将路径括在“”中,如
cl-IC:\Program Files\Java\jdk1.6.0\u21\include e-I“C:\Program Files\Java\jdl1.6.0\u21\include\win32”-MD-LD Callbacks.C-FeCallb acks.dll

如果路径包含空格,则必须引用路径。在我的情况下,命令如下:

cl -I"C:\Program Files\Java\jdk1.8.0_91\include" -I"C:\Program Files\Java\jdk1.8.0_91\include\win32" -LD HelloWorldImp.c -Fehello.dll
希望能有帮助