我正在尝试设置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
代码:
#include <jni.h>
#include <stdio.h>
JNIEXPORT void JNICALL Java_HelloWorld_helloFromC
(JNIEnv * env, jobject jobj)
{
printf("Hello from C!\n");
}
如何解决此错误?
答案 0 :(得分:2)
您是否尝试过:
gcc -o ctest.dll -shared -I"C:\Program Files\Java\jdk1.8.0_45\include" ctest.c -lc
请注意,-I
后斜杠字符不再存在,分隔符设置为反斜杠(Windows分隔符)。