eclipse使用外部工具快捷编译jni

来源:互联网 发布:js将日期转换为时间戳 编辑:程序博客网 时间:2024/05/22 13:05

jni开发中需要编译c文件,当c文件比较少时,另外建立工程比较麻烦,使用eclipse环境可以使用外部工具功能快速编译c文件,下面介绍外部工具的配置方法。

  1. 首先第一步需要使用java类生产h文件,配置如图:



位置是你jdk安装位置下的javah.exe,我的是

[plain] view plain copy
 print?
  1. C:\Program Files (x86)\Java\jdk1.7.0_67\bin\javah.exe  


工作目录

[plain] view plain copy
 print?
  1. ${project_loc}\src  

${project_loc}是eclipse的内部变量,是当前工程的目录


自变量,就是javah运行时传入的参数,即在命令行下调用时后面输入的

[plain] view plain copy
 print?
  1. -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
[plain] view plain copy
 print?
  1. C:\MinGW\bin\g++.exe  

工作目录,工程中的jni文件夹,你需要新建该文件夹,在此文件夹里编写cpp文件。
[plain] view plain copy
 print?
  1. ${project_loc}\jni  

自变量比较长,前两个路径是你jdk中的,针对你系统环境引用,我是windows平台,引用win32目录下的,后面复制即可。
[plain] view plain copy
 print?
  1. -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中调用了


位置和工作目录同上。

自变量

[plain] view plain copy
 print?
  1. -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}  
最后别忘了配置刷新和公共标签,最后点应用保存。

使用时选中需要操作的文件,然后到菜单上外部工具,旁边小箭头下拉选不同工具,稍等就可以生成需要的文件了。



0 0
原创粉丝点击