linphone 4.2源碼編譯之iOS

使用Mac 10.14.3系統(tǒng)

linphone編譯資料很多,但是針對(duì)特定版本完整流程不是特別清楚,每次使用總是出問(wèn)題,這次針對(duì)當(dāng)前最新版本linphone-sdk 4.2版本?。?!本文僅指導(dǎo)成功編譯linphone對(duì)使用沒(méi)有探究?。?/p>

1、下載

linphone最新版本把各個(gè)端(Android、iOS、desktop)和SDK做了分離,即所有的端公用的同一個(gè)SDK項(xiàng)目,下載地址:

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

同步子模塊(不管執(zhí)行多少次都沒(méi)有什么樣)

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

開始編譯,止步下載,80%的失敗可能都是來(lái)源于下載,所以本人的下載經(jīng)歷必須記錄一下,由于沒(méi)有使用VPN,所以下載特別慢,重試基本沒(méi)有成功過(guò),所以使用了如下笨辦法:

第一種:手動(dòng)下載,也是本次成功的方式

安裝下載工具free down manager(不是廣告,真的比迅雷好用,沒(méi)有限速、廣告,完全免費(fèi))

git默認(rèn)有個(gè)很好的特點(diǎn)不會(huì)斷點(diǎn)續(xù)傳(也可配置實(shí)現(xiàn)),只要文件夾為空就去對(duì)應(yīng)的地址copy地址,添加下載隊(duì)列中,如下圖


大概有40個(gè)需要單獨(dú)下載項(xiàng),差不多要花費(fèi)1天時(shí)間整理,有的也會(huì)失敗,多試幾次。

第二種:借助gitee.com導(dǎo)入現(xiàn)有項(xiàng)目功能,導(dǎo)入完會(huì)自動(dòng)后臺(tái)同步,省去等待下載時(shí)間,操作如下:


由于碼云每天限定最多導(dǎo)入20個(gè),所以使用此方法最少需要2天才能下載完所有子模塊,但是優(yōu)勢(shì)突出,可以自動(dòng)同步所有g(shù)it更新,本人沒(méi)有等2天,所以沒(méi)有使用此方法。


說(shuō)了這么多還是費(fèi)勁,奉獻(xiàn)一下本人編譯通過(guò)的完整源碼包https://pan.baidu.com/s/1XZgirstuC6TbFPzUOYQikw,由于是分開下載的,所以不能git同步了!

2、編譯,打開Readme.md文檔,按步驟來(lái)

安裝工具

- 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,編譯的時(shí)候第一次懵逼就是因?yàn)闆](méi)有安裝它;brew install pkg-config,不能添加sudo,最新版的系統(tǒng)不允許啊

編譯:

1、創(chuàng)建目錄,并進(jìn)入

mkdir build_iphone && cd build_iphone

2、配置

cmake .. -DLINPHONESDK_PLATFORM=IOS

多個(gè)配置

cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLINPHONESDK_PLATFORM=IOS

3、編譯

cmake --build .

如果沒(méi)有問(wèn)題,等著刷屏成功就OK了,然而怎么可能這么順利,遇到問(wèn)題請(qǐng)往下看:

3、編譯遇到的問(wèn)題

問(wèn)題1:找不到pkg-config

安裝brew install pkg-config,這里不用sudo

問(wèn)題2:unknown type name 'mbedtls_x509_crt';等相關(guān)問(wèn)題

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

mbedtls版本不對(duì),自己找了一個(gè)分支下載,編譯通過(guò),分支地址:https://codeload.github.com/ARMmbed/mbedtls/zip/mbedtls-2.16

問(wèn)題3:

No SOURCES given to target: mswebrtc

重新下載mswebrtc,注意完整目錄結(jié)構(gòu)mswebrtc/webrtc/webrtc/? ,目錄有2級(jí)webrtc,直接下載的webrtc內(nèi)容是空的,所以要重新下載

由于編譯過(guò)程,遇到問(wèn)題沒(méi)有記錄,所以原有描述不全,可以參考關(guān)鍵字解決

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容