您的位置:首页 > 运维架构 > Linux

移植linphone到arm-linux日志记录

2014-02-21 10:12 519 查看
离上次写博客已经一年多,参加工作已经一年多了,做过很多事情,再做一次的时候老是想不起一些细节的东西,故,记录的博客上,顺便与大家分享。

 

根据项目需求,移植一个只有语音功能的linphone(无需界面与视频)
使用arm-linux-gcc4.5.1,这个编译器是友善之臂提供的,linux版本3.0.8
linphone移植需要依赖其他库:
libogg-1.3.0.tar.gz http://freecode.com/projects/libogg speex-1.2rc1.tar.gz http://www.speex.org/downloads/ libosip2-3.3.0.tar.gz http://ftp.gnu.org/gnu/osip/ libeXosip2-3.3.0.tar.gz http://download.savannah.gnu.org/releases/exosip/ (与libosip2使用同一版本) readline-6.2.tar.gz(如未加此库,会出现linphonecsh无法注册到服务器的问题)
linphone-3.2.0.tar.gz http://download.savannah.gnu.org/releases/linphone/  
设置好交叉编译器环境变量
创建目录 /home/linphone/build,/home/linphone/arm_target,/home/linphone/sources
将所有安装包放入/home/linphone/sources,并解压到该文件夹下
tar -zxvf libogg-1.3.0.tar.gz
tar -zxvf readline-6.2.tar.gz
tar -zxvf speex-1.2rc1.tar.gz

tar -zxvf libosip2-3.3.0.tar.gz
tar -zxvf libeXosip2-3.3.0.tar.gz
tar -zxvf linphone-3.2.0.tar.gz
 
交叉编译libogg
mkdir /home/linphone/build/libogg
cd /home/linphone/build/libogg
../../sources/libogg-1.3.0/configure --prefix=/home/linphone/arm_target  CC=arm-linux-gcc --host=arm-linux--enable-static --disable-shared
make
make install(一般情况下没有错误发生)
 
交叉编译speex
mkdir /home/linphone/build/speex
cd /home/linphone/build/speex
../../sources/speex-1.2rc1/configure --prefix=/home/linphone/arm_target CC=arm-linux-gcc--host=arm-linux --with-ogg=/home/linphone/arm_target/ --enable-static --disable-shared
make
make install (一般情况下没有错误发生)
 
交叉编译libosip2
mkdir /home/linphone/build/libosip2
cd /home/linphone/build/libosip2
../../sources/libosip2-3.3.0/configure --prefix=/home/linphone/arm_target CC=arm-linux-gcc--host=arm-linux --enable-shared --disable-static
make (一般情况下没有错误发生)
make install
 
交叉编译libeXosip2
mkdir /home/linphone/build/libeXosip2
cd /home/linphone/build/libeXosip2
../../sources/libeXosip2-3.3.0/configure --prefix=/home/linphone/arm_target CC=arm-linux-gcc --host=arm-linux --enable-shared --disable-static PKG_CONFIG_PATH=/home/linphone/arm_target/lib/pkgconfig/
make
make install (libeXosip2版本需要与libosip2的版本一直,否则编译不通过)
 
交叉编译readline (一般情况下没有错误发生)
mkdir /home/linphone/build/readline
cd /home/linphone/build/readline
../../sources/readline-6.2/configure --prefix=/home/linphone/arm_target --prefix=/home/install/linphone --host=arm-linux --with-gnu-ld --disable-static

make
make install

交叉编译linphone
mkdir /home/linphone/build/linphone
cd /home/linphone/build/linphone
../../sources/linphone-3.2.0/configure --prefix=/home/linphone/arm_target --host=arm-linux --with-gnu-ld --disable-static  --enable-alsa=yes --disable-glib --with-osip=/home/linphone/arm_target --with-speex=/home/linphone/arm_target SPEEX_CFLAGS="-I/home/linphone/arm_target/include" 
SPEEX_LIBS="-L/home/linphone/arm_target/lib -lspeex -lspeexdsp" OSIP_CFLAGS="-I/home/linphone/arm_target/include"  OSIP_LIBS="-L/home/linphone/arm_target/lib -leXosip2 -losipparser2" --disable-video --disable-gtk_ui PKG_CONFIG_PATH=/home/linphone/arm_target/lib/pkgconfig/ READLINE_CFLAGS="-I/home/linphone/arm_target/include"
READLINE_LIBS="-L/home/linphone/arm_target/lib"
make
make install
注意:之前使用libeXosip2-4.0.0,编译linphone会报一堆错误,果断该用3.3.0版本,问题就没出现了,编译到后面出现config.h中的宏定义重复定义,只需在该文件中把相应的宏定义注释就解决了。
将/home/linphone/arm_target下的linphonec linphonecsh拷贝到开发板文件系统的/usr/local/bin,并运行
缺少库则从/home/linphone/arm_target/lib拷贝,以此类推
 
在开发板测试
 
linphonecsh init
linphonec
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: