我是 Java 学习新手,第一次想开始 JNI。我正在使用 Cygwin,我创建了一个扩展名为 .java (Helloworld.java) 的文件,如下所示:
class HelloWorld {
private native void print();
public static void main(String[] args) {
new HelloWorld().print();
}
static {
System.loadLibrary("HelloWorld");
}
}
然后我通过命令行()编译文件,然后通过命令javac Helloworld.java
创建一个本机头文件javah –jni Helloworld
然后还通过创建一个C文件来实现:
#include <jni.h>
#include <stdio.h>
#include "HelloWorld.h"
JNIEXPORT void JNICALL
Java_HelloWorld_print(JNIEnv *env, jobject obj)
{
printf("Hello World!\n");
return;
}
在那之后我运行命令
Gcc –wall –g Helloworld.c –o hello
在 Cygwin 的命令提示行中给出消息
helloworld.c:1:17: fatal error: jni.h: No such file or directory
compilation terminated.
如何运行以及设置执行文件的路径的程序是什么?请帮助我任何一个。谢谢。