linphone 4.2源码编译之iOS

使用Mac 10.14.3系统

linphone编译资料很多,但是针对特定版本完整流程不是特别清楚,每次使用总是出问题,这次针对当前最新版本linphone-sdk 4.2版本!!!本文仅指导成功编译linphone对使用没有探究!!

1、下载

linphone最新版本把各个端(Android、iOS、desktop)和SDK做了分离,即所有的端公用的同一个SDK项目,下载地址:

git clone https://gitlab.linphone.org/BC/public/linphone-sdk.git --recursive

同步子模块(不管执行多少次都没有什么样)

git submodule sync && git submodule update --init --recursive

开始编译,止步下载,80%的失败可能都是来源于下载,所以本人的下载经历必须记录一下,由于没有使用VPN,所以下载特别慢,重试基本没有成功过,所以使用了如下笨办法:

第一种:手动下载,也是本次成功的方式

安装下载工具free down manager(不是广告,真的比迅雷好用,没有限速、广告,完全免费)

git默认有个很好的特点不会断点续传(也可配置实现),只要文件夹为空就去对应的地址copy地址,添加下载队列中,如下图


大概有40个需要单独下载项,差不多要花费1天时间整理,有的也会失败,多试几次。

第二种:借助gitee.com导入现有项目功能,导入完会自动后台同步,省去等待下载时间,操作如下:


由于码云每天限定最多导入20个,所以使用此方法最少需要2天才能下载完所有子模块,但是优势突出,可以自动同步所有git更新,本人没有等2天,所以没有使用此方法。


说了这么多还是费劲,奉献一下本人编译通过的完整源码包https://pan.baidu.com/s/1XZgirstuC6TbFPzUOYQikw,由于是分开下载的,所以不能git同步了!

2、编译,打开Readme.md文档,按步骤来

安装工具

- cmake >= 3.6

- python = 2.7(python 3.7 if C# wrapper generation is disabled)

- pip

- yasm

- nasm

- doxygen

- Pystache(use `pip install pystache`)

- six(use `pip install six`)

除此之外还需要安装pkg-config,编译的时候第一次懵逼就是因为没有安装它;brew install pkg-config,不能添加sudo,最新版的系统不允许啊

编译:

1、创建目录,并进入

mkdir build_iphone && cd build_iphone

2、配置

cmake .. -DLINPHONESDK_PLATFORM=IOS

多个配置

cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLINPHONESDK_PLATFORM=IOS

3、编译

cmake --build .

如果没有问题,等着刷屏成功就OK了,然而怎么可能这么顺利,遇到问题请往下看:

3、编译遇到的问题

问题1:找不到pkg-config

安装brew install pkg-config,这里不用sudo

问题2:unknown type name 'mbedtls_x509_crt';等相关问题

unknown type name 'mbedtls_x509_crt';did you mean 'mbedtls_x509_buf'?

mbedtls版本不对,自己找了一个分支下载,编译通过,分支地址:https://codeload.github.com/ARMmbed/mbedtls/zip/mbedtls-2.16

问题3:

No SOURCES given to target: mswebrtc

重新下载mswebrtc,注意完整目录结构mswebrtc/webrtc/webrtc/  ,目录有2级webrtc,直接下载的webrtc内容是空的,所以要重新下载

由于编译过程,遇到问题没有记录,所以原有描述不全,可以参考关键字解决

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容