Linphone SDK开源库的学习和使用(一)

作为学习日志记录下吧,顺便把做项目过程中遇到的问题留给备案~~

从听说到编译成功linphone-iPhone,前后用了近两天的时间,其实很大一部分时间和经历是被纠结的网速浪费掉了。。。。

1 下载源码(这个源码包的完整性很重要,千万保证中间不要断网,否则从头开始。。。)

选一个干净的目录,在终端或者iTerm下

git clone git://git.linphone.org/linphone-iphone.git --recursive,然后打开源码包,找到README参照一步步进行,我是按照readme中的步骤进行的,使用的文件管理工具是Homebrew,当然也可以使用Macports,比参考这个帖子http://shallwelearn.com/blog/build-linphone-for-iphone-and-ipad/。

2 按照经验贴或者readme中步骤,下载安装各种依赖包大约有七八个的样子吧。

3 进行system linking 

其实这些都没什么可说,步骤不是一样的,问题却五花八门,确实很让人纠结。

4 按照需求在build下进行make all 或者make all &&enable_gpl_third_parties=no

5 问题及其解决方法

make之后就是大批错误到来的时候,由于之前编译的代码各种缺文件,然后进行各种安装,结果还是各种报错,所以怀疑是源码包的问题,存在着不同依赖包之间版本不匹配的问题,干脆重新git一份,这次再编译的问题就少很多,下面列举一下我遇到的问题:

  1) 由于在编译第一个版本的时候所有的依赖包都已经下载安装了,所以不存在缺包的问题,第一个就是网络问题,编译过程中需要链接Google和Webrec的官网,这个真的没什么其他办法,只能使用vpn账号或者用一个什么加速器的东西。

  2) 报错 问题来源是nasm依赖包,鉴于一般不会出现代码的问题,首先怀疑是版本的问题,查看brew install 的nasm的版本在/usr/local/bin/nasm -version和build中用到的nasm,发现版本不一致,rm当前的nasm,然后建立一个软链接到新的nasm(sudo ln -s /usr/local/bin/nasm nasm)

 3)  再次编译,注意需要make veryclean一下,可以不从头开始编译,但保险起见我选择从头编译:make all -j16,使用多个线程来编译,加快编译效率。

 4) 再次报错,这次居然是好多语法错,提示Makefile.am中存在非法指令-D,到这里其实应该会有意识的想到还是版本不匹配的原因,在Google上搜索错误,然后看到有的文件中有-D这个指令,有的只有-d,到现在只能大胆尝试了:由于Makefile.in是由Makefile.am文件生成的,用vim打开后者,找到相关出错变量出现的地方吗,然后搜作-D,将其改为-d,保存,再次编译,通过!!!!(更新:在版本2.2.5当中,需要直接去掉-D这个参数; 2015.04.14)

 5)折腾了两天的编译终于结束了,下文进行第二部分,将linphone应用到自己的项目中。 

补充一下,在1)之前会提示安装gettext,不要用brew install那个,要自己从网上下载安装,make ; make install;


补充编译2.2.5遇到的问题,1 是非法指令-D的问题,2 是在MakeFike里设置的只编译armv7和archar64这两个关于苹果手机系统版本的,不需要i386和x86_64(注释掉)的intel系统下的。









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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值