• 编译出freeswitch的java调用的 jar和so


    假设freeswitch 源码路径为 /usr/local/src/freeswitch

    1. cd /usr/local/src/freeswitch(源代码的根目录)

    执行./configure,以便生成必要的Makefile文件。

    2. cd /usr/local/src/freeswitch/libs/esl

    make && make install

    3. 默认libesl.a安装在/usr/local/freeswitch/lib目录下

    需要拷贝到/usr/local/src/freeswitch/libs/esl目录下

    因为esl的Makefile默认libesl.a这个库文件在当前目录

    三、编译esl.jar和libesljni.so

    1. 修改java模块的Makefile
      cd /usr/local/src/freeswitch/libs/esl/java  
      默认的关于java头文件的配置
      LOCAL_CFLAGS=-I../src/include -I/usr/java/jdk1.6.0_14/include -I/usr/java/jdk1.6.0_14/include/linux -I/usr/lib/jvm/java-6-openjdk/include/ -I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux
      修改为机器的实际路径,例如

    LOCAL_CFLAGS=-I../src/include -I/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/include -I/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/include/linux

    2. 编译

        cd /usr/local/src/freeswitch/libs/esl(返回上一级目录)

    make javamod

    3. cd /usr/local/src/freeswitch/libs/esl/java

    如果一切顺利的话,你能看到esl.jar和libesljni.so这两个文件。

    OK,可以在java中通过jni调用libesljni.so库了。

  • 相关阅读:
    c语言 ,回调函数[个人理解]
    MFC、C++ 、Windows编程高手
    c++, 虚基派生 : 共同基类产生的二义性的解决办法
    c++,命名空间(namespace)
    c++,纯虚函数与抽象类
    c++ ,protected 和 private修饰的构造函数
    c++ 虚析构函数[避免内存泄漏]
    c++,虚函数
    c++,类的组合
    GPU与CPU的区别
  • 原文地址:https://www.cnblogs.com/fengchuxiaodai/p/9469925.html
Copyright © 2020-2023  润新知