win10开发测试已经一段时间了,最近将程序移植到ubuntu测试了下,改动不是很大,本教程记录下环境搭建过程
1.操作系统ubuntu22.04 64位 x86架构(建议更新到最新)
2.合理的上网方式,需要正常访问google,最好有40G以上流量
3.安装git,并设置代理
#全局代理
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890
//查看当前设置
//git config -l
//取消全局代理
//git config --global --unset http.proxy
//git config --global --unset https.proxy
4.安装depot_tools
depot_tools是包含下载、编译的相关工具,需要先下载并配置它,才能继续后面的操作。
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
或者直接下载https://storage.googleapis.com/chrome-infra/depot_tools.zip
下载完后解压,并将解压好的depot_tools目录添加到path系统环境变量中
1.打开shell,切换到一个空目录中(目前不要有空格或中文)
2.在shell中设置临时环境变量,以下是笔者设置的,可参考下
export PATH={dir}/webrtc/depot_tools:$PATH
3.获取WebRTC源码
mkdir webrtc #这是创建一个目录,当然也可以用鼠标创建。
cd webrtc #进入到我们刚刚创建的目录中
gclient config --name src https://webrtc.googlesource.com/src
fetch --nohooks webrtc #获取代码,这一步会花点时间,一般会失败,我试了几次都失败了
gclient sync # 当过程中断时(包括上一步的失败),我们可以使用该命令恢复并继续
可能需要执行gclient sync ,直到出现如下提示,才代表同步成功
笔者下载了40多G数据
4.安装依赖
下载完成后,执行如下命令,就可以在线安装好所有依赖
./src/build/install-build-deps.sh
注 :这是源码里的一个脚本,不幸的是,它只有在第一次gclient同步之后才可用
5.编译
cd src
gn gen out/Default --ide="qtcreator"
ninja -C out/Default
gn gen out/Release --ide="qtcreator" --args="is_debug=false"
ninja -C out/Release
如提示缺少文件则回到上一步继续执行 gclient sync 同步文件
若一切顺利,会出现类似如下图所示
WebRTC编译后会在src/out/Default/obj和src/out/Release/obj目录下生成整个WebRTC工程的静态库:webrtc.lib,链接下这个就可以了。
整个目录太大,不方便上传,
后记:
很多小伙伴,想需要查看下,有哪些参数可以设置,可以使用如下命令查看
gn args out/Default --list
此命令需要提前执行下 gn gen out/Default才能使用
可以根据实际需要调整编译参数
若只想查看特定设置参数,可以使用类似如下命令
gn args out/Default --list=rtc_enable_grpc
笔者是2023.06.13,拉取的最新代码,总体编译过程是比较简单的,不过部分系统有些参数需要设置下,否则可能编译不过