Eclipse中java、C++ 和JNI环境搭建

EclipsejavaC++ JNI环境搭建

一、  工具准备

1. Eclipse IDE

(1)下载地址:http://www.eclipse.org/downloads/。我喜欢使用JavaEE版本的,如下图:使用的Eclipse Helios(3.6.2) Packages for Windows

(2)下载之后解压到自己想要解压的地盘,打开后设置JDK开发环境。(这个就不具体说了)

2. CDT(C/C++ Development Tooling)

(1)下载地址:http://www.eclipse.org/cdt/downloads.php。根据页面提示可以下载插件包或者Eclipse在线安装(个人爱好在线安装,省事儿啊),如下图所示:

(2)安装好CDT后,EclipseWindowpreferences会有C/C++选项,如图:

3. 安装MinGW

(1)    下载地址:http://sourceforge.net/projects/mingw/files/

下载后如图:(里面的这三个工具我们都要用到)

(2)    安装,双击mingw-get-inst-20110316.exe文件,选择自己喜好位置(比如:D:/MinGW),这个过程联网,会花费一定的时间。

4. 下载gdb-6.6.tar.bz2

(1)    下载地址:http://downloads.sourceforge.net/mingw/gdb-6.6.tar.bz2

(2)    解压后,里面有这几个目录

全选复制到MinGW目录下,选择全部覆盖。

(3)    安装MSYS(MSYSmake及命令行的一个实现)

下载地址:http://downloads.sourceforge.net/mingw/MSYS-1.0.10.exe 

双击安装,安装界面是命令行界面,需要输入两次y,并且要输入MinGW安装路径,如:D:/MinGw,如图所示:

(4)    在配置下一系统环境变量Path,将D:/MinGW/bin;加入Path

(5)    进入D:/MinGW/bin目录,找到mingw32-make.exe文件,复制一个副本,改名为 make.exe,如图所示:

因为CDT默认的是make命令,当然也可以更改CDT的默认设置。

(6)    OK。到这里环境已经搭建好了。下面我们做个Hello World的例子吧。

二、  创建java工程,命名为jniJava

(1)如图所示:

编写Hello.java代码:

package com.jni;

 

public class Hello {

    static {

       // hello是之后编译出来的dll文件名hello.dll

       // 但是一定不要加.dll扩展名

       System.loadLibrary("hello");

    }

 

    public native void print();

 

    public static void main(String[] args) {

       new Hello().print();

    }

 

}

 

(2)不出意外的话,在jniJava工程目录的bin目录下会自动编译成class文件

(3)打开命令行,进入jniJavabin目录下,运行javah com.jni.Hello,在bin目录下会生成一个.h文件,如图:

三、  创建C++工程,命名为jniCpp

(1)

com.jni.Hello.h拷贝到jniCpp工程的src目录下

(2)创建com.jni.Hello.cpp文件,编写代码:

#include <jni.h>

#include "com_jni_Hello.h"

#include <iostream>

using namespace std;

JNIEXPORT void JNICALL Java_com_jni_Hello_print

(JNIEnv *env, jobject obj)

{

  cout<<"Hello Jni World!"<<endl;

  return;

}

(3)    创建Hello.def文件,里面写:

EXPORTS

Java_com_jni_Hello_print

(4)     

四、  编译dll文件

(1)打开命令行窗口,进入jniCpp工程的src目录,运行g++ -c -I"D:/Program Files/Java/jdk1.6.0_17/include" -I"D:/Program Files/Java/jdk1.6.0_17/include/win32" -o hello.o com_jni_Hello.cpp命令(具体参数根据自己的环境设置),会生成hello.o文件,再运行g++ -shared -o hello.dll hello.o hello.def命令,会生成hello.dll文件。

五、  开始java进行jni调用了

1. hello.dll拷贝到jniJava工程的根目录下,如图:

2. 运行之前写好的Hello.java文件吧,成功输出:

Hello Jni World!

 

六、完。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值