webrtc編譯教程
一、安裝depot_tools工具
首先你的電腦上安裝了git
1) 下載depot_tools
cd到下載的目錄下
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
使用git下載源碼的時候會報這樣的錯誤
unable to access 'https://chromium.googlesource.com/chromium/tools/depot_tools.git/': Failed to connect to chromium.googlesource.com port 443: Operation timed out
可以按照下面這篇博客的方式進行配置就能下載了
https://laod.cn/hosts/2017-google-hosts.html/comment-page-6
2) 把depot_tools的路徑添加到export PATH=`pwd`/depot_tools:"$PATH"
3) 檢測路徑是否添加正確
運行命令echo $PATH,查看工具的路徑是否正確,如果不正確的話
下載webrtc的源碼會報錯fetch: command not found
檢測depot_tools是否配置正確的方式還可以直接在終端輸入gn然后按tab鍵
如果配置正確將顯示
gn gn.py gnuattach gnuclient gnudoit gnumake gnuserv
如果配置不正確將顯示
gnuattach gnuclient gnudoit gnumake gnuserv
二、下載webrtc的源碼
首先你需要有VPN能翻牆,推薦使用紅杏
fetch --nohooks webrtc_ios
gclient sync
運行以上的命令,前提是depot_tools配置正確
可能會出現以下的錯誤
Error: Command 'download_from_google_storage --no_resume --platform=darwin --no_auth --bucket chromium-luci -d src/tools/luci-go/mac64' returned non-zero exit status 1 in /Users/wuyong/Desktop/build_scripts/webrtc-build-scripts-master/ios/webrtc
這個錯誤很奇怪有的朋友就沒有遇見這個錯誤
如果不管這個錯誤直接編譯源碼的話就會出現下面的錯誤
gn.py: Could not find gn executable at: /Users/wuyong/Desktop/new/src/buildtools/mac/gn
是說在這個目錄下缺少一個gn的文件,我是在別人那里復制了一個這種gn的文件。
三、編譯webrtc
運行以下命令后,有兩種編譯的方式
# debug build for 64-bit iOS
gn gen out/ios_64 --args='target_os="ios" target_cpu="arm64"'
# debug build for simulator
gn gen out/ios_sim --args='target_os="ios" target_cpu="x64"'
第一種利用ninja編譯
首先你得安裝ninja工具,cd到某個目錄下下載ninja並安裝
git clone git://github.com/martine/ninja.git
./bootstrap.py
ninja -C out/ios_64 AppRTCMobile
第二種利用xcode編譯
gn gen out/ios --args='target_os="ios" target_cpu="arm64"'--ide=xcode
open -a Xcode.app out/ios/all.xcworkspace
最后在out的目錄下生成了all.xcworkspace以及WebRTC.framework
