WebRTC研究 (一) 编译源码
程序员文章站
2022-07-01 17:36:08
...
WebRTC研究 (一) 编译源码
1. WebRTC 源码编译
1.1 IOS平台编译
1.1.1 WebRTC iOS framework 编译
- 安装 depot_tools
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
把 depot_tools 加入环境变量
export PATH=`pwd`/depot_tools:"$PATH"
- clone 源代码
创建一个文件夹用来存放 WebRTC 源代码,比如 mkdir ~/webrtc, 进入刚才创建的文件夹执行
fetch --nohooks webrtc_ios
gclient sync
然后就是漫长的等待中…
完全 sync 完成后会在 webrtc 目录下生成一个 src 目录,进入 src 目录会看到类似 https://chromium.googlesource.com/external/webrtc/+/master 这个样的目录,只不过多了 third-party 的一些依赖文件, branch 57 之后 sync 很快哦
- 编译 framework
运行命令 gclient runhooks
进入 src 目录,然后执行
./tools_webrtc/ios/build_ios_libs.py
就可以编译出 framework 文件了。
可以通过 ./tools_webrtc/ios/build_ios_libs.py --help
查看编译选项
默认会编译出全部架构的 [‘arm64’, ‘arm’, ‘x64’, ‘x86’] 的 framework 文件,如果想要编译成静态库也可以加上 -b static_only
,如果只想编译 ARM 的架构可以 ./tools_webrtc/ios/build_ios_libs.py --arch {'arm64','arm'}
(老版本的目录为 tools-webrtc
)
- 使用 Xcode 查看和编译 WebRTC 源码
WebRTC 不支持 Xcode 原生编译,用 Xcode 编译也是调用的 ninja 去编译
先生成 workspace 文件,还是进入上面提到的 src 的目录
gn gen out/ios --args='target_os="ios" target_cpu="arm64" is_component_build=false' --ide=xcode
打开工程文件,就可以编译和查看源码了
open -a Xcode.app out/ios/all.xcworkspace
- 代码更新
以后更新 webrtc 代码只需要进入 src 目录git pull
就行, 定期的更新依赖,使用
gclient sync
上一篇: 视频播放器--音视频同步
下一篇: lucene全文检索入门
推荐阅读
-
[Vue源码]一起来学Vue模板编译原理(一)-Template生成AST
-
[Vue源码]一起来学Vue模板编译原理(二)-AST生成Render字符串
-
Android源码分析(一)-----如何快速掌握Android编译文件
-
解决AndroidKiller APK 反编译失败,无法继续下一步源码反编译!
-
Tomcat源码分析一:编译Tomcat源码
-
集万千宠爱于一身的SessionImpl:get研究(四): Hibernate源码研究碎得(8)
-
Hibernate源码研究碎得整理(一到十三)
-
Hibernate源码研究碎得整理(一到十三)
-
Aandroid源码编译详解(一)
-
dubbo源码研究(一)