Linux自己编译webrtc

编译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

然后参考前面步骤重新生成工程文件,编译即可。

猜你喜欢

转载自blog.csdn.net/huapeng_guo/article/details/126503527