Linux平台编译WebRTC
1. 环境准备
- 首先需要准备一台可以fanqiang的Linux服务器,我是腾讯云购买一个月海外服务器。
- 在国内服务器使用代理,一直遇到各种问题,使用国外服务器就没问题了,建议还是使用国外服务器。
- 地址:腾讯云选购服务器
2. 安装依赖
- 登录服务器就可以开始安装相关依赖和代码了。
sudo apt-get update
sudo apt-get install -y git python2.7 python3 pkg-config g++ libnss3-dev libnspr4-dev libssl-dev libasound2-dev
3. 获取源码
- WebRTC使用depot_tools来管理其源代码和依赖。
cd ~
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
vi ~/.bashrc
# .bashrc末尾添加如下一行:
export PATH="$PATH:/home/ubuntu/depot_tools"
source ~/.bashrc
4. 下载WebRTC源代码
- 使用fetch命令来检出WebRTC源代码。fetch命令会创建一个名为src的目录,并下载所有必要的依赖和工具。
mkdir webrtc-checkout
cd webrtc-checkout
fetch --nohooks webrtc
- 同步代码和依赖:
gclient sync
5. 准备编译环境
- 在编译前,需要使用gn来配置构建选项。以下命令将生成默认配置的编译文件:
cd src
./build/install-build-deps.sh
gn gen out/Default
- 也可以通过添加–args来定制构建配置,例如使用is_debug=false来生成一个Release版本:
gn gen out/Default --args='is_debug=false'
6. 编译
- 使用ninja来编译WebRTC,需要一段时间:
ninja -C out/Default
- 或者编译Release的版本(如果已经用is_debug=false配置了):
ninja -C out/Release
7. 使用编译结果
- 编译完成后,可以在out/Default(或out/Release)目录中找到库文件和可执行文件。
- 在src/out/Default/obj可以看到生成的静态库文件:libwebrtc.a。
8. 更新源代码
- 如果需要更新WebRTC源代码到最新版本,可以在src目录中运行以下命令:
git pull
gclient sync
- 然后重复上面的配置(如果需要)和编译步骤。