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

陌路散爱 提交于 2020-04-28 07:32:15

假设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库了。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!