标签:style blog http io color os ar 使用 java
最后更新日期:2014-04-25 bykagula
阅读前提:《CMake入门(二)》、《同Java的混合编程-SWIG》、Linux的基本操作、java基础知识
环境:Windows 8.1 64bit英文版,Visual Studio 203 Update1英文版,CMake 2.8.12.2、 Cent OS 6.5、SWIG 3.0.0。
介绍本人在《同Java的混合编程-SWIG》这篇笔记上提到的SWIG_Tutorial4和SWIG_Tutorial4_Java项目如何移到Cent OS上。
正文
用Visual Studio打开SWIG_Tutorial4项目,在项目中添加CMakeLists.txt文件
#设置项目名称
PROJECT(SWIG_Tutorial4)
#要求CMake的最低版本为2.8
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
#添加头文件搜索路径
#下面两个是Cent OS下Java开发包的默认头文件路径
INCLUDE_DIRECTORIES(/usr/lib/jvm/java/include)
INCLUDE_DIRECTORIES(/usr/lib/jvm/java/include/linux)
#添加库文件搜索路径
#下面两个是Cent OS下Java开发包的默认库文件路径
LINK_DIRECTORIES(/usr/lib/jvm/java/lib)
#用于将当前目录下的所有源文件的名字保存在变量 DLL_SRC 中
AUX_SOURCE_DIRECTORY(. DLL_SRC)
#用于指定从一组源文件 source1 source2 …sourceN(在变量DLL_SRC中定义)
#根据“SWIG_Tutorial4”名称编译出“libSWIG_Tutorial4.so”名称的动态链接库
#如果下面不加SHARED那编译出的是“libSWIG_Tutorial4.a”静态链接库
ADD_LIBRARY(SWIG_Tutorial4 SHARED ${DLL_SRC})
在Cent OS上安装java开发环境
#yum install java java-devel
可以使用下面的命令查看java 安装路径
$echo $JAVA_HOME
把SWIG_Tutorial4项目整个文件夹,复制到Cent OS上,并编译
$cd SWIG_Tutorial4
$mkdir build
$cd build
$cmake ..
$make
现在当前文件夹中就有了libSWIG_Tutorial4.so文件。 Linux下的动态链接库一般用so扩展名,相当于Windows下的DLL文件。
测试动态链接库
Cents OS下java.library.path缺省指向/usr/java/packages/lib/i386、/lib、/usr/lib三个目录,java程序会从这三个路径中去寻找动态链接库,所以我们把libSWIG_Tutorial4.so文件复制到/usr/lib路径中。
把Win系统上的SWIG_Tutorial4_Java项目整个源文件夹上传到Cent OS系统。
下面是SWIG_Tutorial4_Java项目目录树
SWIG_Tutorial4_Java
│ .classpath
│ .project
│ SWIG_Tutorial4.dll
│
├─.settings
│ org.eclipse.jdt.core.prefs
│
├─bin
│ HelloWorldFromC.class
│ MyJavaClass.class
│ SWIG_Tutorial4.class
│ SWIG_Tutorial4JNI.class
│
└─src
HelloWorldFromC.java
MyJavaClass.java
SWIG_Tutorial4.java
SWIG_Tutorial4JNI.java
进入下面文件夹
/home/kagula/Downloads/SWIG_Tutorial4_Java/bin
可以看到
HelloWorldFromC.class, MyJavaClass.class, SWIG_Tutorial4.class,SWIG_Tutorial4JNI.class四个文件。
使用下面的命令,调用java程序
$java MyJavaClass
就可以看到程序运行结果
[1]《Tokyo Cabinet的安装,含Java版(Cent OS 5.4)》
http://www.coder4.com/archives/818
[2]《JNI Hello World 简单记录》-使用Open JDK + GCC做的第一个java程序
http://blog.csdn.net/acnt3w/article/details/8590300
标签:style blog http io color os ar 使用 java
原文地址:http://blog.csdn.net/lee353086/article/details/40707053