标签:
1、javah 命令(路径为 项目的bin目录下),例如 :
F:\ZC_Code_E\workspace__MyEclipse2013\JNIjw01\bin>javah jniZ.JNIjw01
F:\ZC_Code_E\workspace__MyEclipse2013\JNIjw01\bin>
ZC: 该命令生成的是 .h文件,用于 C++编程
ZC: 注意,这里是对 .class文件 进行操作,然而命令中文件是不带 .class后缀名的
2、环境变量 的配置:(以保证命令javah/javap 的正常使用)
在系统环境变量中设置:
ClASSPATH中输入: ".;C:\Program Files\Java\jdk1.7.0_07\jre\lib\rt.jar;" // java的安装目录,特别要注意有点号和分号
PATH中输入:"C:\Program Files\Java\jdk1.7.0_07\bin;"
3、需要的 头文件
编译 JNI的DLL,需要用到 jni.h 和 jni_md.h,在C++项目中 将这两个文件的路径添加一下
4、
同时还有一个错误就是,提示:e:\c++\jnidemo\jnidemo.cpp(9) : fatal error C1010: unexpected end of file while looking for precompiled header directive,这个是预编译头文件读写错误,这时候还要在VC中进行设置:项目-》设置-》C/C++;在分类中选择预编译头文件,选择不使用预补偿页眉
ZC: 这个问题,我没有遇到,也就没有做这一步
5、Windows下,JNI的DLL的存放路径
JNI查找它需要的DLL时,是根据 环境变量中的"PATH"中的值来搜索的,可以在环境变量"PATH"中添加一个目录 用于存放 我们编译出来的供JNI使用的DLL。
ZC: 若是修改了 环境变量"PATH",则Eclipse需要重启一下。
ZC: Eclispe搜索 JNI的DLL时,还默认带了一个路径 就是 Java项目的根目录,我们简单测试的时候,就可以不去修改"PATH",直接将DLL放到 Java项目的根目录 即可。
6、
7、
8、
标签:
原文地址:http://www.cnblogs.com/javaskill/p/5433718.html