您的位置:首页 > 编程语言 > Java开发

eclipse下编译jni的配置

2014-03-25 17:11 295 查看
JNI调用要做三件事,一使用javah命令生成C头文件,二编写完成本地方法生成可调用的DLL文件(Windows平台),三java类中加载这个dll文件。

Eclipse环境下自然不能忍受手动敲命令这么重的体力活了。我们首先要做的就是配置一个Javah命令:

打开"External Tools Configurations",这个功能在哪?告诉你在工具栏Run旁边那个有个按钮^_^,界面如图:



这里指定头文件输出的目录是项目的jni目录下,这个可自行设置。现在只需要编写一个带有native的类,然后执行这个命令即可生成头文件了。

接下来是编写本地方法,生成的本地库文件。C/C++编译器可自行选择,如果使用微软visual studio,从开始菜单打开vs的命令行输入编译命令cl -I c:\java\jdk1.7\include -I

c:\java\jdk1.7\include\win32 -LD E:\workspace\JniDemo\jni\HelloNative.c -FeE:\workspace\JniDemo\jni\HelloNative.dll。

-LD是要生成DLL文件,-Fe是指定dll文件名,同时这里还需指定jdk中jni.h文件的路径,否则是编译不了的。当然你也可以把这几个文件拷贝到你的.c文件相同目录。

生成好的dll文件放在项目的根目录下,否则会出现java加载不到dll的异常:java.lang.UnsatisfiedLinkError: no XXX in java.library.path。可是每次都要拷实在麻烦啊,当然还有解决之道了,我们可以配置项目的Build Path,打开Build Path配置Source选项卡,展开src目录下有个Native library location将目录指定要我们dll生成的目标文件夹即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: