找不到 jni.h

Cannot find jni.h

我正在尝试设置 JNI 演示示例,但在 Windows OS.

上导出库时卡住了

根据this教程,应执行以下命令:

gcc -o libctest.so -shared -I/path/to/jdk/headers ctest.c -lc

其中 /path/to/jdk/headers 指的是包含 jni.h 的目录。

这是调用命令的方式:

gcc -o ctest.dll -shared -I/"C:/Program Files/Java/jdk1.8.0_45/include" ctest.c -lc

结果是:

jni.h: no such file or directory.
include jni.h

我查看了 this and this,这似乎表明我所做的差不多。

代码:

#include <jni.h>
#include <stdio.h>

JNIEXPORT void JNICALL Java_HelloWorld_helloFromC
  (JNIEnv * env, jobject jobj)
{
    printf("Hello from C!\n");
}

如何解决此错误?

你试过吗:

gcc -o ctest.dll -shared -I"C:\Program Files\Java\jdk1.8.0_45\include" ctest.c -lc

请注意,在 -I 之后,斜杠字符不再存在,分隔符设置为反斜杠(Windows 分隔符)。