zoukankan      html  css  js  c++  java
  • CMake

    CMake - SWIG

    最后更新日期: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 OSJava开发包的默认头文件路径

    INCLUDE_DIRECTORIES(/usr/lib/jvm/java/include)

    INCLUDE_DIRECTORIES(/usr/lib/jvm/java/include/linux)

     

    #加入库文件搜索路径

    #以下两个是Cent OSJava开发包的默认库文件路径

    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_Tutorial4SHARED ${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

  • 相关阅读:
    问卷调查--来自20145320周岐浩
    第一次尝试编写java
    写在开始编写Java之前(2)——Java的环境
    写在开始编写Java之前(1)——Java的跨平台性
    一步一步实现JS拖拽插件
    序列图像三维重建 学习流水账
    linux配置虚拟机网络环境(老师要求的host-only)
    递归函数时间复杂度分析(转)
    什么是static?什么是final?
    复习java数据库操作的总结
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/8370509.html
Copyright © 2011-2022 走看看