交叉编译Linphone 1.2.0(zz)

LINPHONE ON ARM-LINUX (cross-compiling on host for target architecture)

软件包: (在网上下载如下软件包)

1) linphone-1.2.0
2) libosip2-2.2.2
3) libogg-1.1.0
4) speex-1.1.11.1
5) oRTP ( linphone 包中自带,如果没有下载ortp-0.7.0版本)

到网站下载 http://www.gnu.org/software/

其他工具见 :http://telestarnotes.blogspot.com/2004_12_01_archive.html

A) 编译环境设置:
arm交叉编译工具::
下载 arm-linux-gcc-3.4.1.tar.bz2
直接解压到usr/local 中,或链接到/usr/local中
1)把arm-linux-gcc-3.4.1.tar.bz2 文件copy到usr/local 下,右击解压即可
2)任意目录下解压arm-linux-gcc-3.4.1.tar.bz2
#tar -xvjf arm-linux-gcc-3.4.1.tar.bz2 //解压
#export PATH=$PATH:/root/usr/local/arm/3.4.1/bin //环境变量设置:路径,链接,库
#export LD=/root/usr/local/arm/3.4.1/bin/arm-linux-ld
#export LDFLAGS=-L/root/usr/local/arm/3.4.1/arm-linux/lib

B) 交叉编译 libosip2-2.2.2
#cd libosip2-2.2.2 //到解压后的 libosip 目录下,以下同
#./configure --prefix=/root/armbuild -host=arm-linux --target=arm-linux --disable-static //配置文件
#make //编译
#make install //安装
// --prefix=/... :指定文件编译安装目录
//--host=..... :指定编译工具,默认的为gcc,此处为arm-linux(编译到arm上用的)
//--disable-static :禁止静态库(.a)链接,编译生成动态库(.so)

C) 交叉编译 libogg-1.1.0
#cd ../libogg-1.1.0
#./configure --prefix=/root/armbuild --host=arm-linux --target=arm-linux --disable-static --enable-fixed-point
#make
#make install

D) 交叉编译speex-1.1.11.1
#cd ../speex-1.1.11.1
#./configure --prefix=/root/armbuild --host=arm-linux --target=arm-linux --disable-static --enable-fixed-point --enable-arm-asm --with-ogg=/root/armbuild --with-ogg-libraries=/roo/armbuild/lib --with-ogg-headers=/root/armbuild/include/ogg
//要把/root/armbuild/lib 下的生成的ogg相应的库copy到交叉编译工具/usr/local/arm-linux/lib 下面,speex的编译需要ogg库的支持。
#make
#make install
//--with-ogg : 指定ogg生成的库的目录
// --with-ogg-libraries : ogg库,若没有,把生成的文件copy目录下面
//--with-ogg-headers :指定ogg头文件

E) 将libspeex编译成功的库文件copy到编译工具下的库中
#cp /root/armbuild/usr/lib/libspeex.so.2.0.0
/root/usr/local/arm/3.4.1/arm-linux/lib
#cd /root/usr/local/arm/3.4.1/arm-linux/lib //建立链接
#ln -s libspeex.so.2.0.0 libspeex.so
#ln -s libspeex.so.2.0.0 libspeex.so.2
//以上的 步骤 E) ,可以直接手动把libspeex.so.2.0.0 , libspeex.so, libspeex.so.2三个文件复制到加查编译工具下的库(lib)目录下即可

F) 交叉编译 linphone-1.2.0:
在编译linphone之前先将ortp复制到 linphone-1.2.0目录下
#cd /root/arm/linphone-1.2.0
#cd oRTP
##./configure --prefix=/root/armbuild --host=arm-linux --target=arm-linux --disable-static --enable-fixed-point --disable-glib
//需要加上 --disable-glib(禁止库),否则会应为缺少gthread 库而无法编译。
#make
#make install

G)将生成的库文件及链接复制到交叉编译工具的库中(同步骤E)
##cp /root/armbuild/usr/lib/libortp.so.2.0.0
/root/usr/local/arm/3.4.1/arm-linux/lib
#cd /root/usr/local/arm/3.4.1/arm-linux/lib
#ln -s libortp.so.2.0.0 libortp.so.2
#ln -s libortp.so.2.0.0 libortp.so
以此,就可以在没有图形界面(GUI)支持情况下编译linphone

H) #cd /root/arm/linphone-1.2.0
#./configure --prefix=/root/armbuild --host=arm-linux --target=arm-linux --disable-static --disable-glib --enable-gnome_ui=no --disable-manual
--enable-ipv6 --enable-alsa --with-osip=/root/armbuild --with-speex=/root/armbuild
#make
#make install
//--enable-alsa :使能alsa语音编解码方式,语音传输的另种方式为oss
//--enable-ipv6 :使能ipv6

以上的--disable-static 语句使编译不能生成静态库文件,即不能使库和可执行文件和为一体,而生成了另外单独的库支持文件。如果需要把库和可执行文件合成一个文件,那么不要使用这项。

就此编译完毕,在/root/armbuild/bin 文件中就可以找到可执行文件linphonec,把改文件及相应的库下载到开发板中,在sch中相应的目录下输入./linphonec,即可以运行程序如不能运行,则缺少库支持,把刚生成的相应的 *.so.*文件复制到开发板的lib目录下即可。

本人用的是magic linux,内核2.6.15,交叉编译工具arm-linux-gcc-3.4.1

原文地址 http://blog.chinaunix.net/u1/38576/showart_526170.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值