windows webrtc 编译

下载步骤:

1、使用下载谷歌的源码要F墙,别信网上的各种国内镜像代理,包括学而思和声网的,反正我本人测试都不行。

     学而思镜像:https://github.com/webrtc-mirror/mirror 

      为了能正确下载,我还去关注了他们的微信公共号,操作步骤见网页,

      测试结果本地报错:third_party/capatult 这个模块一直下载失败,显示服务器不允许下载未经许可的对象。

      

     声网镜像:https://rtcdeveloper.com/t/topic/14914

     测试结果本地报错: src/base  src/buildtools src/tools等 一共四个子模块都下载失败。

     奉劝大家,别走捷径,他们的镜像可能一般情况下没人去维护吧,花了好多时间还是不行很浪费时间,就中规中矩的翻过去下载,多尝试几次总会成功。

     

      安装好你要翻过去所需要的软件,具体步骤略过。

      首先要确保你真正是否翻过去了,尝试打开google,随便搜索下,看看是否正常。

     记下代理所用的端口号,我们要用的是http的代理端口,不是sock的。

   

2、安装depot_tools

       git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

       这个文件夹包含谷歌的多远代码管理工具 gclient 

       目录下结构:

      

   

     然后要将这个目录加到系统的path中,方便以后直接使用命令行进行操作。不然执行命令会提示命令不识别。

3、安装python2.7版本 以及 pywin32

     下载路径墙内的网打开下载可能会比较慢。

     下载路径:   https://www.python.org/getit/  

      

      下载路径:https://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/

  

       安装完以后把python2.7的安装路径也要加到系统的path路径下。

    我本地电脑是这样的:

   

 4、安装VS2019

    下载路径:       https://visualstudio.microsoft.com/zh-hans/vs/

    在装VS的时候要记得装几个模块 

    1)win10 sdk 10.0.173以上,下面只是参考,其他的可以选装

         

       

     2)WIN10 SDK还需要安装Debugging Tools,安装步骤为 控制面板 → 程序 → 程序和功能 → 选中“Windows Software Development Kit” → 变更 → Change → 勾选 “Debugging Tools For Windows” → Change。

          

   

5、配置环境变量:

DEPOT_TOOLS_UPDATE=0                                 #不更新depot_tools
DEPOT_TOOLS_WIN_TOOLCHAIN=0                          #编译时使用本机VS工具链
GYP_MSVS_VERSION = 2019                              #指定VS版本
GYP_MSVS_OVERRIDE_PATH = C:Program Files (x86)Microsoft Visual Studio2019Enterprise  #vs安装路径,替换成自己的
GYP_GENERATORS=msvs-ninja,ninja                      #使用ninja编译
http_proxy=http://127.0.0.1:38855                         #本机代理端口                          
https_proxy=http://127.0.0.1:38855                       #本机代理端口   这个端口就是本文最上面1那节最后说的端口。

下面这个步骤我不确定是否真的很有必要,为保证万一还是建议做了:

depot_tools的安装目录下,新建一个文件

 文件内容为:

 最下面的port是代理端口

  新增加一个环境变量  NO_AUTH_BOTO_CONFIG  路径为 G:webrtcgit_depotdepot_toolsoto.cfg   //自己的文件路径

我本地显示如下:

6、开始下载源码方法有两种:

     第一种:

    命令行执行:

     fetch --nohooks webrtc  这个下载源码时间会很久,下载差不多要9个多G的文件。

    执行完可能会报一些错误,这个没关系,你去下载路径下看下文件路径,是不是文件夹都有,这个后面会执行命令更新本地代码。

   

  文件路径大概是这样,然后执行命令:

   gclient sync

   这一步很关键,这个命令必须执行成功,否则子模块代码拉取的是不完整的。

  执行成功如下显示:

  如果出现失败,就多执行几次这个命令,或者带上参数执行,gclient sync --force 

  这个可能会与你的F墙服务器的稳定有关系,失败了报错了不怕,重复执行几次。

  如果出现 error server not allow to .......这种的,基本就是你与谷歌的源代码服务器连接失败。如图所示:

  如果出现 cd ....(一个文件目录)   &&  git rebase --  (0a423r324aadf24332323) 这种的,去文件目录下,删除 .git文件夹,然后重新执行命令

  第二种方法:

        git clone https://chromium.googlesource.com/external/webrtc

         gclient config https://webrtc.googlesource.com/src.git

        gclient sync

     先用git下载代码 然后同步config再执行sync

    

    本人测试过 用git的bash和cmd 效果是一样的。

7、编译 

      先编译windows下:

      gn gen out/Default   //不带vs工程,编译的只是一些测试工具和demo

      gn gen out/project --ide=vs      //编译出来带有vs的功能 all.sln

    release版本:gn gen out/Release --args="is_debug=false" 

       ninja -C out/Default

      后面编译其他平台的再持续更新.....

 

    

   

  

 

     

     

       

  

原文地址:https://www.cnblogs.com/132818Creator/p/12516850.html