交叉编译VOIP需要的OSIP ExOSIP JRTP

本文介绍如何在ARM9+Linux平台上交叉编译osip和exosip库,包括配置环境变量、选择编译选项等关键步骤,并特别关注语音编解码方式、IPv6支持及jrtplib库的编译细节。
交叉编译osip
/home/libosip2-2.2.1文件夹下编译:
$CC=arm-linux-gcc CFLAGS=-O2 ./configure --prefix=/root/josua --disable-trace --disable-debug --disable-josua --host=arm-linux
$make
$make install

交叉编译exosip

#cd /home/libeXosip2-1.9.1-pre16
#./configure --prefix=/root/josua --host=arm-linux --target=arm-linux --disable-static --disable-glib --enable-gnome_ui=no --disable-manual
--enable-ipv6 --enable-alsa --with-osip=/root/josua --disable-josua
#make
#make install
//--enable-alsa :
使能alsa语音编解码方式,语音传输的另种方式为oss(一般为oss changed by Myth Wu
//--enable-ipv6 :
使能ipv6

jrtplib库应用于ARM9的交叉编译。
  jrtplib与平台有关。jrtplib库的交叉编译指定的ARM编译工具链是arm-linux,而ARM7的交叉编译工具链是arm-elf, 因此在ARM9+Linux平台上实现。用arm-linux-gcc编译时,需做此库的交叉编译场景分析。经过多次尝试成功编译。具体做法, configure前,在shell环境下输入两条语句export config_BUILD_CC = gcc export config_TARGET_CC = arm-linux-gcc,配置使用./configure --host = arm-linux。在rtperrors.h中添加头文件stdio.h,否则编译会出现相应的问题。
以下是osipeXosip交叉编译到Android的方法: ### 环境准备 需要安装Android NDK,并配置好环境变量。同时,创建一个Android.mk文件用于编译配置,示例如下: ```makefile APP_PROJECT_PATH := $(call my-dir)/../ APP_STL:=gnustl_static APP_ABI := armeabi-v7a APP_PLATFORM := android-16 ``` 这里 `APP_PROJECT_PATH` 指定项目路径,`APP_STL` 选择静态库,`APP_ABI` 选择目标架构,`APP_PLATFORM` 选择目标Android平台版本。 ### osip2库编译 下载 `libosip2-3.5.0.tar.gz` 并解压,进入目录后进行配置和编译: ```bash cd libosip2-3.5.0/ ./configure --enable-static make ``` 完成osip2库的编译后,可将osip2的头文件和库添加到系统默认搜索目录下,示例命令如下: ```bash ln -s /home/runoob/work/my_project/sip/libosip2-3.5.0/include/osip2 /usr/include/osip2 ln -s /home/runoob/work/my_project/sip/libosip2-3.5.0/include/osipparser2/ /usr/include/osipparser2 ln -s /home/runoob/work/my_project/sip/libosip2-3.5.0/src/osip2/.libs/libosip2.so /usr/lib/libosip2.so ln -s /home/runoob/work/my_project/sip/libosip2-3.5.0/src/osipparser2/.libs/libosipparser2.so /usr/lib/libosipparser2.so ``` ### eXosip编译 进入eXosip目录,进行配置和编译: ```bash cd ../open/libsip/libexosip2-5.1.0 chmod +x configure ./configure --disable-openssl CFLAGS="-Wl,-rpath,./" OSIP_CFLAGS="-I/opt/gb/open/libsip/osip/include" OSIP_LIBS="-L/opt/gb/open/libsip/osip/lib -losip2 -losipparser2" --prefix=/opt/gb/open/libsip/exosip make -j8 make install ``` 其中,`--disable-openssl` 表示禁用openssl,`CFLAGS`、`OSIP_CFLAGS` 和 `OSIP_LIBS` 用于指定相关的编译和链接选项,`--prefix` 指定安装路径。 ### 应用程序编译 编译基于osipexosip库的代码时,需要添加以下命令(静态编译): ```bash -I/usr/local/sunxi/include -L/usr/local/sunxi/lib -leXosip2 -losipparser2 -losip2 -lpthread -ldl -lresolv -static ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值