我正在实现简单的JNI示例,如
中所示http://java.sun.com/docs/books/jni/html/start.html
在第二步,编译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文件夹中。
如何删除此错误?
答案 0 :(得分:3)
由于路径包含空格,因此需要将路径包含在“”内 cl -IC:\ Program Files \ Java \ jdk1.6.0_21 \ includ e -I“C:\ Program Files \ Java \ jdl1.6.0_21 \ include \ win32”-MD -LD Callbacks.c -FeCallb acks.dll < / p>
答案 1 :(得分:0)
如果路径包含空格,则必须引用路径。在我的例子中,命令如下:
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
希望它有所帮助。