系统要求
- 磁盘空间:至少5.6 GB磁盘空间(带IOS支持)
准备工作
需要Xcode 9以及以上版本。
对于外网访问,我这里用的是v2rayu,在终端执行如下代理设置:
1 |
export http_proxy=http://127.0.0.1:1087;export https_proxy=http://127.0.0.1:1087;export ALL_PROXY=socks5://127.0.0.1:1080 |
安装depot tools
1 2 3 4 5 6 7 8 9 |
cd ~ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git // 将depot_tools路径加到PATH中 vi ~/.zshrc # .zshrc添加如下一行 export PATH=$PATH:~/depot_tools source ~/.zshrc |
获取代码
1 2 3 4 |
mkdir webrtc-checkout cd webrtc-checkout fetch --nohooks webrtc gclient sync |
如果中间意外中断,执行gclient sync
即可。
生成Ninja工程文件
WebRTC默认使用Ninja作为编译系统,Ninja工程文件通过GN生成。
使用如下命令生成默认配置工程(Debug编译,工程文件位于out\Default目录下):
1 |
gn gen --ide=xcode out/Default |
如果需要Release编译,通过如下命令生成工程文件:
1 |
gn gen --ide=xcode out/Default --args='is_debug=false' |
编译
1 |
ninja -C out/Default |
最后在src/out/Default/obj
可以看到生成的静态库文件:libwebrtc.a,WebRTC.framework文件以及测试demo:AppRTCMobile。src/out/Default
看到all.xcodeproj文件。
代码更新
后续如需要更新代码,按照如下步骤:
1 2 3 |
git checkout master git pull origin master gclient sync |
然后参考前面步骤重新生成工程文件,编译即可。
参考
[1] WebRTC Native code Development.https://webrtc.github.io/webrtc-org/native-code/development/.
本文已收录到大话WebRTC专栏,更多精彩请访问《大话WebRTC》。
文章评论
macos或者linux怎么调试webrtc呢?