找不到jni.h

时间:2015-11-10 15:18:48

标签: java c gcc java-native-interface

我正在尝试设置JNI演示示例,并且在Windows操作系统上导出库时遇到了困难。

根据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

我已查看thisthis,这似乎表明了我的所作所为。

代码:

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

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

如何解决此错误?

1 个答案:

答案 0 :(得分:2)

您是否尝试过:

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

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