linux编译linphone,Ubuntu下linphone交叉编译与移植
移植前搞清楚linphone依赖库的关系,这个一般是移植工作的关键所在,还有一个关键是目标平台的交叉编译器。
linphone-3.1.0依赖的库如下:
speex(又依赖libogg)
libosip2-3.1.0
libeXosip2-3.1.0
readline(optional)
搭建好交叉编译环境。在/home/cjx 目录下新建目录libs,将下载的源码包解压在该目录下。
find ./ -name '*.tar.gz' -exec tar zxvf {} \;//一次解压所有源文件
cd /home/cjx/libs
cd ncurses-5.7/
./configure --prefix=/install --host=arm-linux --with-gnu-ld --with-shared
make
make install DESTDIR=/home/cjx/source/linphone-arm/build/
cd ..
cd readline-6.1/
./configure --prefix=/install --host=arm-linux --with-gnu-ld --disable-static
make
make install DESTDIR=/home/fzu/source/linphone-arm/build/
cd ..
cd libosip2-3.3.0/
./configure --host=arm-linux --prefix=/install --with-gnu-ld --disable-static
make
make install DESTDIR=/home/cjx/source/linphone-arm/build/
cd ..
cd libogg-1.2.0/
./configure --host=arm-linux --prefix=/install --with-gnu-ld
make
make install DESTDIR=/home/cjx/source/linphone-arm/build/
cd ..
cd speex-1.2rc1/
./configure --prefix=/install --host=arm-linux --with-gnu-ld --disable-static --enable-fixed-point --enable-arm-asm --with-ogg-libraries=/home/cjx/source/linphone-arm/build/install/lib/ --with-ogg-includes=/home/cjx/source/linphone-arm/build/install/include/
make
make install DESTDIR=/home/cjx/source/linphone-arm/build/
cd ..
cd libeXosip2-3.1.0/
./configure OSIP_CFLAGS=-I/home/cjx/source/linphone-arm/build/install/include/ OSIP_LIBS="-L/home/cjx/source/linphone-arm/build/install/lib -losip2 -losipparser2" --prefix=/install --host=arm-linux
cp ../libosip2-3.3.0/src/osipparser2/.libs/libosipparser2.la /home/fzu/source/linphone-arm/build/install/lib/
make
make -k install DESTDIR=/home/fzu/source/linphone-arm/build/
cd ..
cd linphone-3.3.2/
export ARM_INSTALL_TREE=/home/cjx/source/linphone-arm/build/
./configure --host=arm-linux --prefix=/install --with-gnu-ld --disable-static --disable-glib --with-osip=/home/cjx/source/linphone-arm/build/install/ --with-readline=$ARM_INSTALL_TREE/install SPEEX_CFLAGS="-I$ARM_INSTALL_TREE/install/include" SPEEX_LIBS="-L$ARM_INSTALL_TREE/install/lib -lspeex -lspeexdsp" OSIP_CFLAGS="-I$ARM_INSTALL_TREE/install/include" OSIP_LIBS="-L$ARM_INSTALL_TREE/install/lib -losip2 -leXosip2 -losipparser2" --disable-video --disable-gtk_ui
make
make -k install DESTDIR=/home/cjx/source/linphone-arm/build/
若编译时出错时应先检查各输入是不是有误。www.linuxidc.com我曾经在编译linphone时将一个链接库lspeex写成lspeek,出错提示如下:
collect2: ld returned 1 exit status
make[5]: *** [libmediastreamer.la] Error 1
make[5]: Leaving directory `/home/fzu/linux/linphone/libs/linphone-3.3.2/
mediastreamer2/src'
make[4]: *** [all] Error 2
make[4]: Leaving directory `/home/fzu/linux/linphone/libs/linphone-3.3.2/
mediastreamer2/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/fzu/linux/linphone/libs/linphone-3.3.2/
mediastreamer2'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/fzu/linux/linphone/libs/linphone-3.3.2/
mediastreamer2'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/fzu/linux/linphone/libs/linphone-3.3.2'
make: *** [all] Error 2
结果可想而知,我为了我这次的粗心付出了惨重的代价,花了别人几十倍(好几天)的时间才将这个错误找出。
至于其他可能出现的错误,也许是有些库没安装好(在x86平台上,可能会提示你安装g++(一个c++编译器)、intltool等),这些根据错误提示可以很轻松的找出原因,解决的方法也很简单,安装提示的库就可以了。还有一个就是在编译libeXosip和linphone时会可能出错,这个不用管它,对我们移植没有影响(在安装时指定-k就是忽略错误,这个可以在configure语法中查到)。如编译libeXosip2-3.1.0时会出现如下错误:
/bin/sed: can't read /install/lib/libosipparser2.la: No such file or directory
libtool: link: `/install/lib/libosipparser2.la' is not a valid libtool archive
make[2]: *** [libeXosip2.la] Error 1
make[2]: Leaving directory `/home/fzu/linux/linphone/libs/libeXosip2-3.1.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/fzu/linux/linphone/libs/libeXosip2-3.1.0'
make: *** [all] Error 2
另外,./confiugre --prefix=/install ....是以make install 中指定的目录为根目录安装的。在本次编译中,所有编译好的库及可执行文件等都放在/home/cjx/source/linphone-arm/build/install 目录下。
编译完成后,将其下载到开发板上。
linux编译linphone,Ubuntu下linphone交叉编译与移植相关推荐
- linux 编译 suitesparse,Ubuntu下编译SuiteSparse-4.4.1和METIS-4.0.3
ubuntu下编译caffe Ubuntu下编译caffe 纯粹是个人编译的记录.不用CUDA(笔记本是amd卡,万恶的nvidia):不手动编译依赖包(apt-get是用来干啥的?用来直接装二进制包 ...
- 初试linux编译(ubuntu+vim)+玩转智能蛇
一.初试linux编译(ubuntu+vim) 步骤: ①下载vmware15+ubuntu桌面版映像 ②安装ubuntu ③下载vim+gcc 在ubuntu终端输入: sudo apt-get i ...
- wireshark使用教程 linux,Linux入门教程:ubuntu下安装wireshark(以及配置非root),这个强大的工具可以捕...
Linux入门教程:ubuntu下安装wireshark(以及配置非root),这个强大的工具可以捕 Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数据,并为用户提供关 ...
- linux 自动降频,Linux资格认证:Ubuntu下对CPU进行降频
这两天CPU温度超高,为了解决这个问题,先是找了两块以前台式机上的风扇(一个CPU,一个机箱风扇),和一条USB延长线.接好以后运行了一段时间,发现效果很不明显,大概降了有1度吧,还不知道是不是因为自 ...
- Linux(CentOS、Ubuntu)下,磁盘分区、挂载
文章目录 Linux(CentOS.Ubuntu)下,磁盘分区.挂载 分区的方式: Linux分区 [lsblk] [fdisk] [mkfs] [mount] [umount] [/etc/fsta ...
- linux系统(ubuntu)下安装exe文件
linux系统(ubuntu)下安装exe文件 昨天将家中的旧笔记本翻出来安装了ubuntu20.04.1,想在电脑中安装exe文件时,不能直接打开. 于是借鉴网络中的方法(https://blog. ...
- linux boost 卸载,Ubuntu下boost库的编译安装步骤及卸载方法详解
最近由于编译一个程序用到了C++的boost库,所以便安装了这个库.但是,其中遇到了一些小问题.所以记录下来,以供别人参考. 首先说一下我的环境:Ubuntu 12.04 32bit, gcc 4. ...
- dlib linux 编译使用,ubuntu/ARM编译使用Dlib、OpenCV
参考文章: ubuntu安装Dlib(C++与Python) https://blog.csdn.net/sinat_38354963/article/details/90517321 ubuntu编 ...
- Linux卸载tcpdump,Ubuntu下tcpdump命令(一)选项
Ubuntu下tcpdump命令(一)选项 说明,本文翻译自man tcpdump,若遇到不能理解的地方请参考man文档. Ubuntu默认是安装好了tcpdump工具的,如果没有安装的话使用sudo ...
最新文章
- 【Android 安全】DEX 加密 ( Application 替换 | 分析 Service 组件中调用 getApplication() 获取的 Application 是否替换成功 )
- Redis 的主从复制太强大了!
- matlab 十六进制数组,【MATLAB】MATLAB中读取二进制数据文件并加入到矩阵中
- 元组-元组变量的循环遍历
- JavaScript --- [学习笔记] 原型模式
- asp.net core 负载均衡集群搭建(centos7+nginx+supervisor+kestrel)
- java 所有子类_java 查找类的所有子类
- 多益网络 视频面试面试总结20180816
- JAVA与SAP数据交互的方式总结
- 分布式系统架构实战demo:SSM+Dubbo
- react-native拨打电话和安卓端拨打电话
- 陈丹琦NLP团队敢于挑战权威!谁说BERT只能Mask 15%?
- 用浏览器控制台查看ajax请求
- autoComplete实现的输入下拉联想功能
- SpringSecurity实战(八)-通用第三方登陆-自定义认证配置实现
- nu.xom.IllegalNameException: 0x20 is not a legal NCName character
- IDEA更改中文字体
- NewStarCTF2022-Week4-Web
- HTML:给你的表单设置边框!
- linux安装——管理应用程序
热门文章
- 【Docker】在CentOS上安装Docker Engine
- python CST时间转换为本地时间
- 【FOJ】Problem 1077 铁皮容器
- 定向计算机老师,核心素养背景下的信息技术教师定位走向
- git github gitlib gitlab分别是什么,有什么区别?
- 阿里云发布性能测试 PTS 2.0:低成本、高效率、多场景压测,业务稳定性保障利器
- 创造与魔法241服务器系统什么时候修好,创造与魔法:最简单实用四大技巧,省下赶路时间,老玩家才知道...
- 计算机应用技术职业评测,2019年广安职业技术学院单招考试计算机应用技术、软件技术专业(中职类)职业技能测试大纲...
- overleaf 推荐
- 对开发人员有用的定律和原则