jni開發中需要編譯c文件,當c文件比較少時,另外建立工程比較麻煩,使用eclipse環境可以使用外部工具功能快速編譯c文件,下面介紹外部工具的配置方法。
- 首先第一步需要使用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文件了
最後公共還需要設置在菜單上顯示,如下配置
最後點應用保存。
下面還有幾個,刷新和公共標籤都如上配置即可。
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}
最後別忘了配置刷新和公共標籤,最後點應用保存。
使用時選中需要操作的文件,然後到菜單上外部工具,旁邊小箭頭下拉選不同工具,稍等就可以生成需要的文件了。