WebRTC学习进阶之路 --- 十二、下载WebRTC源码及各操作系统的WebRTC源码编译详细步骤

WebRTC学习进阶之路系列总目录:https://blog.csdn.net/xiaomucgwlmx/article/details/103204274

一、如何下载资源

这里我的是泡芙云购买的账号,链接如下:https://www.paofucloud.co/auth/register?code=HkjJ,很便宜,网速不错,提供很多节点选择可以选择。

里边有相应的使用教程,下载一个ShadowsocksR.exe直接运行设置代理就可以畅游了哈。
                                          

二、源码下载的git网络代理设置

要下载源码需要设置git的网络代理,例如Chrome源码和我们这里要用到的WebRTC源码下载都需要设置网络代理,很简单:

  1. cmd输入一下设置:

    git config --global http.proxy http://127.0.0.1:port(自己的代理端口默认一般是1080)
    git config --global https.proxy http://127.0.0.1:port(自己的代理端口默认一般是1080)

  2. 查看代理设置:
    git config --global -l

  3. 设置本地代理
    set http_proxy=http://127.0.0.1:port(自己的代理端口,1080)
    set https_proxy=http://127.0.0.1:port(自己的代理端口,1080)

  4. 使用完后重置即可
    git config --global --unset http.proxy
    git config --global --unset https.proxy

三、下载并配置depot_tools

下载依赖工具直接通过cmd输入git命令 git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git即可,下载完成后进行环境变量的配置。

export WORKSPACE=$(pwd)git clone https://chromium.googlesource.com/chromium/tools/depot_tools.gitexport PATH=$WORKSPACE/depot_tools:$PATH

Windows直接去高级环境变量里边进行配置即可。

四、安装VS2017和WindowsSDK

这块就不详细介绍了,大家按照步骤安装即可,相信做过响应开发的都已经具备该能力。

五、下载WebRTC源码

cmd下执行:

set GYP_MSVS_VERSION=2017
set GYP_MSVS_OVERRIDE_PATH=D:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise(自己的安装目录)
set GYP_GENERATORS=msvs-ninja,ninja
gclient config --name src https://chromium.googlesource.com/external/webrtc.git

比较大大概需要一个多小时的样子。

下载好之后cmd下执行  gclient sync,同步资源即可。

六、各平台编译WebRTC

mac平台

cd src // 可以加入其它的编译参数gn gen out/mac --args='is_debug=false target_cpu="x64" rtc_include_tests=false rtc_build_tools=false rtc_build_examples=false' // mac_framework_objc 为framework, 可以为其它的targetninja -C out/mac mac_framework_objc

iOS平台

cd srcpython tools_webrtc/ios/build_ios_libs.py  --output-dir  out/ios  --arch arm64  --extra-gn-args rtc_include_tests=false rtc_build_tools=false rtc_build_examples=false

Linux平台

cd src
// 安装依赖bash build/install-build-deps.sh
// 可以加入其它的编译参数gn gen  out/linux --args='is_debug=false target_cpu="x64" rtc_include_tests=false rtc_build_tools=false rtc_build_examples=false'

ninja -C out/linux

Android 平台(须在linux平台上编译)

# 添加安卓平台echo "target_os = [ 'android' ]" >>  .gclient

gclient sync
cd src
// 安装android依赖./build/install-build-deps-android.sh
python tools_webrtc/android/build_aar.py  --build-dir out/android  --arch armeabi-v7a   --extra-gn-args rtc_include_tests=false rtc_build_tools=false rtc_build_examples=false

Windows 平台

gn gen out/Win  --args='proprietary_codecs=true  is_debug=false target_cpu="x86"  ffmpeg_branding="Chrome" rtc_include_tests=false'
ninja -C out/Win遇到编译问题可以留言讨论解决?

 

WebRTC学习进阶之路系列总目录:https://blog.csdn.net/xiaomucgwlmx/article/details/103204274

你可能感兴趣的:(WebRTC学习进阶之路系列)