webrtc 代码学习(零) windows vs2017 编译

windows vs2017 编译
作者:LanPZzzz

文章目录

          • 1. clone https://gitee.com/WebrtcUse/depot_tools.git
          • 2. 把depot_tools 加入到环境变量中
          • 3. clone https://gitee.com/WebrtcUse/webrtc.git 后,切换到my_69 分支上
          • 4. 下载链接:https://pan.baidu.com/s/1IejeUuWA2HCpHmIMFHtJnA 提取码:6wrh ,解压到根目录下,如.\third_party
          • 5. 确认有如下的环境变量
          • 6. 根目录下,如下命令
          • 7. 需要修改一些命令
          • 8. 在这个分支上,因为提取了Audio/Video 的控制代码,所以在 ninja -C 前,要做如下动作。
          • 9. ninja -C out/Debug_x64_20190926

1. clone https://gitee.com/WebrtcUse/depot_tools.git
2. 把depot_tools 加入到环境变量中
3. clone https://gitee.com/WebrtcUse/webrtc.git 后,切换到my_69 分支上
4. 下载链接:https://pan.baidu.com/s/1IejeUuWA2HCpHmIMFHtJnA 提取码:6wrh ,解压到根目录下,如.\third_party
5. 确认有如下的环境变量

要求vs2017 版本,大于等于15.8.7,可以在vs2017 上直接使用
这个文件夹下 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\ 至少要有比 14.15.26726 大的文件夹

环境变量有如下
DEPOT_TOOLS_UPDATE 0
DEPOT_TOOLS_WIN_TOOLCHAIN 0
GYP_MSVS_OVERRIDE_PATH C:\Program Files (x86)\Microsoft Visual Studio\2017\Community
GYP_GENERATORS msvs-ninja,ninja
GYP_MSVS_VERSION 2017
Webrtc_Tools E:\2.work\1.webrtc\webrtc-win-20180801\depot_tools

=========================

*****编译的时候python 一定要使用depot_tools中的python,在目录depot_tools\win_tools-2_7_6_bin\python\bin

  1. 如果这个目录还没有生成,不要慌,先执行下面的 gn gen out/Debug_x64_20190926 命令
  2. 然后把out/Debug_x64_20190926 删除掉
  3. 环境变量中再设置下这个python
  4. 在执行下面的 gn gen out/Debug_x64_20190926 命令
  5. 接着编译就好了
  6. 搞定

=========================

6. 根目录下,如下命令

gn gen out/Debug_x64_20190926 --ide=vs2017 --args="target_winuwp_family=“desktop” is_debug=true target_winuwp_version=“10.0.17134.0” is_clang=false rtc_include_tests=false rtc_use_h264=true target_cpu=“x64"”
这个是debug 模式,release 模式去掉is_debug=true

7. 需要修改一些命令

编译完备的webrtc.lib,在 out\Debug_x64_20190926\obj\webrtc.ninja 中
build obj/webrtc.lib: 后增加 obj/api/audio_codecs/builtin_audio_decoder_factory.lib obj/rtc_base/rtc_json/json.obj obj/api/audio_codecs/L16/audio_decoder_L16.lib obj/api/audio_codecs/g711/audio_decoder_g711.lib obj/api/audio_codecs/g722/audio_decoder_g722.lib obj/api/audio_codecs/ilbc/audio_decoder_ilbc.lib obj/api/audio_codecs/opus/audio_decoder_opus.lib obj/api/audio_codecs/isac/audio_decoder_isac_float.lib obj/modules/audio_coding/isac.lib obj/modules/audio_coding/isac_c.lib

这个是增加json + audio decoder 的库

8. 在这个分支上,因为提取了Audio/Video 的控制代码,所以在 ninja -C 前,要做如下动作。
1. 把source_resend_control\audio\ninja 下的编译脚本拷贝到 out\Debug_x64_20190926\obj\audio
2. 如果不是使用Debug_x64_20190926,请自行修改编译脚本的内容,应该主要修改vs 的工程
9. ninja -C out/Debug_x64_20190926

你可能感兴趣的:(webrtc学习)