前言
在ubuntu和win10开发测试一段时间了,但总在存在平台特性的问题,所以准备将程序移植到macOS上测试,同步进行三个主要桌面系统开发,本教程记录下环境搭建过程
一、准备
1.操作系统macOS13.5 64位 x86架构(建议系统更新到最新,条件所限,无M2的设备)
2.安装Xcode12或更高版本(安装完成后,记得至少运行一次)
3.合理的上网方式,需要正常访问google,最好有30G以上流量,可以通过如下命令验证下
curl ipinfo.io
4.安装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
5.升级python
系统中本来就有python3.9,笔者直接在官网上下载的python3.11.4,安装完成后,需要运行下Python 3.11目录下的Install Certificates.command,对应命令如下
//Python 3.11%
./Install\ Certificates.command
//要注意下,文件名中间有个空格
6.安装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.在终端中设置临时环境变量,以下是笔者设置的,可参考下
//设置临时系统环境变量,仅限此终端使用
export PATH={dir}/webrtc/depot_tools:$PATH
//查看可以使用如下命令
env
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.编译
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工程的静态库:libwebrtc.a,链接下这个就可以了。
整个目录太大,不方便上传,
后记:
很多小伙伴,想需要查看下,有哪些参数可以设置,可以使用如下命令查看
gn args out/Default --list
此命令需要提前执行下 gn gen out/Default才能使用
可以根据实际需要调整编译参数
若只想查看特定设置参数,可以使用类似如下命令
gn args out/Default --list=rtc_enable_grpc
笔者是2023.07.29,拉取的最新代码,总体编译过程是比较顺利的,全部一次通过,但对应目录中却没有生成示例,等后面移植时,再看看具体情况
因笔者只有一台MacBook-Pro(2019年购买),目前屏已坏,只能外接显示器,无法对本机键盘进行测试(外接显示器需要合上盖子);无M2设备,若有相关设备的小伙伴,希望测试后向笔者反馈下
因时间、设备所限,笔者当前也没有国产系统(特别是arm的)、Android、IOS、Web,只能往后排期了