eclipse使用外部工具快捷编译jni
2016-03-05 10:06
351 查看
jni开发中需要编译c文件,当c文件比较少时,另外建立工程比较麻烦,使用eclipse环境可以使用外部工具功能快速编译c文件,下面介绍外部工具的配置方法。
首先第一步需要使用java类生产h文件,配置如图:
位置是你jdk安装位置下的javah.exe,我的是
工作目录
${project_loc}是eclipse的内部变量,是当前工程的目录
自变量,就是javah运行时传入的参数,即在命令行下调用时后面输入的
${}标记的都是eclipse的变量,${java_type_name}是你当前选中的java类名,不是文件名
然后刷新标签如下配置,当完成时刷新就能看到生成的h文件了
最后公共还需要设置在菜单上显示,如下配置
最后点应用保存。
下面还有几个,刷新和公共标签都如上配置即可。
2. 有了h文件,就开始编写cpp文件,大家都知道c需要先编译为obj文件,才可以再编译成可执行文件,或者动态库的,下面开始编译o文件
配置如图:
我是使用minGW编译,位置就是我安装位置的g++.exe
工作目录,工程中的jni文件夹,你需要新建该文件夹,在此文件夹里编写cpp文件。
自变量比较长,前两个路径是你jdk中的,针对你系统环境引用,我是windows平台,引用win32目录下的,后面复制即可。
3.最后编译o文件为dll,就可以在java中调用了
位置和工作目录同上。
自变量
使用时选中需要操作的文件,然后到菜单上
外部工具,旁边小箭头下拉选不同工具,稍等就可以生成需要的文件了。
首先第一步需要使用java类生产h文件,配置如图:
位置是你jdk安装位置下的javah.exe,我的是
C:\Program Files (x86)\Java\jdk1.7.0_67\bin\javah.exe
工作目录
${project_loc}\src
${project_loc}是eclipse的内部变量,是当前工程的目录
自变量,就是javah运行时传入的参数,即在命令行下调用时后面输入的
-classpath ${project_loc}\bin\ -d ${project_loc}\jni -jni ${java_type_name}
${}标记的都是eclipse的变量,${java_type_name}是你当前选中的java类名,不是文件名
然后刷新标签如下配置,当完成时刷新就能看到生成的h文件了
最后公共还需要设置在菜单上显示,如下配置
最后点应用保存。
下面还有几个,刷新和公共标签都如上配置即可。
2. 有了h文件,就开始编写cpp文件,大家都知道c需要先编译为obj文件,才可以再编译成可执行文件,或者动态库的,下面开始编译o文件
配置如图:
我是使用minGW编译,位置就是我安装位置的g++.exe
C:\MinGW\bin\g++.exe
工作目录,工程中的jni文件夹,你需要新建该文件夹,在此文件夹里编写cpp文件。
${project_loc}\jni
自变量比较长,前两个路径是你jdk中的,针对你系统环境引用,我是windows平台,引用win32目录下的,后面复制即可。
-I "C:\Program Files (x86)\Java\jdk1.7.0_67\include\win32" -I "C:\Program Files (x86)\Java\jdk1.7.0_67\include" -O0 -g3 -Wall -c -fmessage-length=0 -o ${project_loc}\jni\${project_name}.o ${project_loc}\jni\${selected_resource_name}
3.最后编译o文件为dll,就可以在java中调用了
位置和工作目录同上。
自变量
-I "C:\Program Files (x86)\Java\jdk1.7.0_67\include\win32" -I "C:\Program Files (x86)\Java\jdk1.7.0_67\include" -Wl,--add-stdcall-alias -shared -o ${project_name}.dll ${selected_resource_name}最后别忘了配置刷新和公共标签,最后点应用保存。
使用时选中需要操作的文件,然后到菜单上
外部工具,旁边小箭头下拉选不同工具,稍等就可以生成需要的文件了。
相关文章推荐
- 在Eclipse的android工程下创建多个java文件
- Java IO
- JAVA集合2
- [Java并发包学习七]解密ThreadLocal
- Spring进阶之路(5)-Spring创建Bean的三种方式
- Spring进阶之路(4)-容器中Bean作用域与集合类型配置
- Spring进阶之路(3)-bean获得Spring的容器
- 无限极java设计与实现整理
- Usage: AddDimensionedImage imageFile outputFile eclipse 运行程序出错
- Spring进阶之路(1)-Spring核心机制:依赖注入/控制反转
- HBase Java API
- Spring 学习经验总结
- 在Ubuntu中通过update-alternatives切换java版本
- java基础第二天_进制转换原理和补码存储方式作业
- 2016蓝桥杯假期任务之《排列数》
- java设计模式之代理模式
- java,编写一个矩形类,
- Spring Integration- EIP
- eclipse 两个真机,自动安装一个手机上,无手机选择画面
- Java开发 JDK安装与环境变量配置