编译webrtc的前提是要科学上网,并且需要有编译服务器的sudo权限,编译服务器最好使用ubuntu18.0. * 桌面版,这样可以直接跑demo, 不要使用 ubuntu20.04.1,会有很多依赖库版本不匹配的问题,按照以下步骤就可以编译
安装depot tools
cd
~
mkdir
webrtc
#这一步网络正常只需要几分钟即可完成
git clone https:
//chromium
.googlesource.com
/chromium/tools/depot_tools
.git
vim ~/.bashrc
# .bashrc添加如下一行
export
PATH=
"$PATH:/home/webrtc/depot_tools"
source
~/.bashrc
获取代码
cd
~
/webrtc
fetch --nohooks webrtc
#2-3个小时
gclient
sync
#约一个小时
安装依赖
cd
~
/webrtc
cd
src
.
/build/install-build-deps
.sh --no-chromeos-fonts
#用--no-chromeos-fonts命令参数来跳过谷歌的操作系统字体的安装,否则会安装失败
生成Ninja工程文件
WebRTC默认使用Ninja作为编译系统,Ninja工程文件通过GN生成。使用如下命令生成默认配置工程(Debug编译,工程文件位于out\Default目录下)
cd
~
/webrtc
cd
src
gn gen out
/Default
如果需要Release编译,通过如下命令生成工程文件
gn gen out
/Default
--args=
'is_debug=false'
编译
cd
~
/webrtc
cd
src
ninja -C out
/Default
#第一次全编译,约1-1.5小时,看机器性能
最后在src/out/Default/obj
可以看到生成的静态库文件:libwebrtc.a。
代码更新
git checkout master
git pull origin master
gclient sync
然后参考前面步骤重新生成工程文件,编译即可。