本文使用程序基于该博客:
http://blog.csdn.net/jiangwei0910410003/article/details/17465085
就其中细节部分进行一定纠正:
首先用cmd进入src目录下,编译该JAVA类,
命令:javac ./com/jni/demo/JNIDemo.java
在该JNIDemo.java所在目录下生成JNIDemo.class
然后在src目录下使用javah生成头文件,
命令:javah -jni com.jni.demo.JNIDemo(-jni 似乎可以不加)
在当前目录下生成com_jni_Demo_JNIDemo.h头文件,此文件供C、C++程序来引用并实现其中的函数
编写c++函数按照他的要求将三个文件放在c++的工程目录下,其中com_jni_demo_JNIDemo.h中要修改成#include “jni.h”。jni.h中已经是 #include “jni_md.h”了,不用修改。编译成功,debug文件夹中生成dll文件。
然后按照博客要求加入环境变量,重开eclipse发现以下提示:
原因在于我创建的是win32的程序。只要去vs上面将配置管理器中的平台改成x64即可,生成的dll文件在x64文件夹中,将该dll文件的地址加入环境变量。
现在重新打开eclipse运行程序,能够输出helloworld。
补充:其实可以不用每次都加入环境变量,具体方法见以下博客(关于System.loadLibraray()使用方法的汇总):
http://blog.csdn.net/forandever/article/details/5983846