Ubuntu 14.04下编译WebRTC
- 阿里云??>??教程中心???>??python教程??>??Ubuntu 14.04下編譯WebRTC??
- Ubuntu 14.04下編譯WebRTC
發(fā)布時(shí)間:2018-02-28 來源:網(wǎng)絡(luò) 上傳者:用戶
關(guān)鍵字:?編譯?Ubuntu?WebRTC?14.04
發(fā)表文章- 摘要:這兩天在UbuntuServer14.04下編譯了一遍WebRTC,記錄了過程,放在這里,有需要的朋友可以參考。幾點(diǎn)提示:我使用的是UbuntuServer14.04,上面沒開發(fā)環(huán)境,也沒桌面,從零開始配置。需要連接VPN才可以完成源碼的下載和更新,以及部分依賴的安裝編譯過程首先要安裝一些基礎(chǔ)包,比如g++、python等,使用下面的命令:sudoapt-getinstallg++sudoapt-getinstallpython然后就是下面的步驟了,照著做就行了。有一些小細(xì)節(jié)
這兩天在Ubuntu Server 14.04下編譯了一遍WebRTC,記錄了過程,放在這里,有需要的朋友可以參考。
幾點(diǎn)提示:
- 我使用的是Ubuntu Server 14.04,上面沒開發(fā)環(huán)境,也沒桌面,從零開始配置。
- 需要連接VPN才可以完成源碼的下載和更新,以及部分依賴的安裝 編譯過程
- 1) 創(chuàng)建文件夾
- 2) 安裝git
- 3) 安裝 svn
- 4) 安裝depot_tools
- 5) 同步代碼
- 6) 安裝編譯依賴
- 7) 生成ninja項(xiàng)目文件
- 8) 編譯
- https://webrtc.org/native-code/development/
- https://webrtc.org/native-code/development/prerequisite-sw/
首先要安裝一些基礎(chǔ)包,比如g++、python等,使用下面的命令:
sudo apt-get install g++sudo apt-get install python然后就是下面的步驟了,照著做就行了。有一些小細(xì)節(jié),我都貼出來了。
注意我編譯的是Linux版本的WebRTC,native代碼,想用編譯出來的庫文件來做開發(fā)。
在你使用的用戶目錄下執(zhí)行:
mkdir webrtccd webrtc也可以在bashrc中添加一個(gè)export命令,用戶登錄時(shí)自動(dòng)配置PATH,注意將PATH_TO_YOUR_WEBRTC_DIR替換為你的實(shí)際路徑:
vim ~/.bashrc # 文件末尾添加這個(gè)命令 export PATH=$PATH:$PATH_TO_YOUR_WEBRTC_DIR/depot_tools執(zhí)行下列命令序列即可:
mkdir webrtc-checkout cd webrtc-checkout fetch --nohooks webrtc gclient sync此時(shí)我們?cè)趙ebrtc-checkout目錄下,獲取源碼后,會(huì)建立一個(gè)src目錄。
直接使用WebRTC提供的install-build-deps.sh腳本來安裝所有依賴(腳本安裝的依賴有點(diǎn)多,有一些已經(jīng)不需要了,不過沒關(guān)系)。
注意我們是在webrtc-checkout目錄下執(zhí)行
./src/build/install-build-deps.sh
腳本使用sudo來安裝依賴,你需要多次輸入密碼,否則就會(huì)停在那里……
部分依賴庫也會(huì)要你輸入Y或N,你不輸入,也會(huì)停在那里……
我在Ubuntu Server 14.04上執(zhí)行,安裝字體時(shí)彈出了同意協(xié)議的界面,確認(rèn)后才能繼續(xù)。按左右方向鍵可以選中console顯示的界面上的Yes或Ok按鈕。
需要進(jìn)入webrtc-checkout/src目錄下來執(zhí)行相關(guān)命令。
生成debug版ninja項(xiàng)目文件:
gn gen out/Default生成release版ninja項(xiàng)目文件:
gn gen out/Default --args='is_debug=false'要清空ninja項(xiàng)目文件:
gn clean out/Default我生成的release版,截個(gè)圖:
使用gn非常快,沒反應(yīng)過來呢,Done!
需要進(jìn)入webrtc-checkout/src目錄下來執(zhí)行下面的命令:
ninja -C out/Default再來個(gè)編譯中的圖:
3306個(gè)文件,編譯半個(gè)小時(shí)左右,完成后:
好像沒什么可看的……
編譯好的SDK默認(rèn)編譯的是靜態(tài)庫和可執(zhí)行文件。
進(jìn)入 out/Default 文件夾,執(zhí)行l(wèi)s命令,會(huì)看到編譯出來各種可執(zhí)行程序,比如stunserver、relayserver,如下圖:
如果想知道.a在哪里,執(zhí)行find ./ -name *.a可以看到下面的結(jié)果:
想把.a文件拷貝到一個(gè)地方,開發(fā)時(shí)方便引用,可以執(zhí)行下列命令:
mkdir ../libfind ./ -name *.a -exec cp {} ../lib /;上面兩個(gè)命令,會(huì)在out目錄下建立一個(gè)lib文件夾,把編譯生成的所有.a文件拷貝過去。然后開發(fā)時(shí)就方便了。
頭文件就在src/webrtc下面,比如api目錄。直接引用就可以了。
參考文檔參考WebRTC的官方文檔即可完成編譯:
關(guān)于WebRTC的學(xué)習(xí)資料,我之前整理了一個(gè)文章:
總結(jié)
以上是生活随笔為你收集整理的Ubuntu 14.04下编译WebRTC的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用代理同步Chromium代码的心得(
- 下一篇: VirtualBox下安装Ubuntu