WebRTC 音频QoS研究(1):如何编译Windows版本的WebRTC(M66)

我主要做安卓上的WebRTC,然而为了读懂源码,不得不使用PC版本来调试源码。so...


环境: Windows 10,Visual Studio 2017(企业版),Python,depot_tools

VS 2017下载器链接 https://download.csdn.net/download/caoshangpa/10410923

用下载器安装VS2017时,要选择桌面C++开发功能以及MFC and ATL support。另外,WIN10 SDK必须安装10.0.15063版本,其余版本可能导致编译失败。下面是我安装时选择的组件。


Python下载链接 https://www.python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi   (还要设置环境变量)
depot_tools是Google的代码工具库,可用于迁出/入以及编译
Google代码,需要翻墙下载。

源码:这就不用说了,主要靠翻墙......

编译:打开DOS命令台(最好是搜索  适用于vs2017的 x86 本机工具命令提示)。

然后进入源码文件夹中

set DEPOT_TOOLS_UPDATE=0 #不更新depot_tools
set DEPOT_TOOLS_WIN_TOOLCHAIN=0 #编译时使用本机VS工具链
set GYP_MSVS_VERSION = 2017 #指定VS版本
set GYP_MSVS_OVERRIDE_PATH = C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise #vs安装路径,替换成自己的
set GYP_GENERATORS=msvs-ninja,ninja #使用ninja编译

上面的  GYP_MSVS_OVERRIDE_PATH  最好不要替换,因为环境中有的地方已经把位置写死了,单纯改一处可能不管用。

最后进入源码下编译

cd webrtc-checkout/src
gn gen out/Default --ide=vs2017 #生成VS2017解决方案
ninja -C out/Default #开始编译   
也可以不执行上面那一步而用使用vs编译,在vs界面:文件->打开->项目/解决方案->webrtc-checkout/src/out/Debug/all.sln  然后生成

然后在源码中out/Debug目录下找到peerconnection_client.exe和peerconnection_server.exe,这两个分别是服务器和客户端的demo,如果想调试音视频引擎,就将vs界面 解决方案资源管理器中examples下的peerconnection_client作为启动项,另外在别的机器上启动一个client和server就能单步调试了(一定要有摄像头)。


编译的后两步过程也可以是

//下面一条指令生成VS2017的win32 debug工程
gn gen out/Debug --ide=vs2017 --args="is_debug=true target_cpu=\"x86\""
//下面一条指令生成VS2015的win32 release工程
gn gen out/Release --ide=vs2017 --args="is_debug=false target_cpu=\"x86\""

//以上方法均建议使用ninja方法编译,速度快
ninja -C out/Debug 
//或者
ninja -C out/Release

猜你喜欢

转载自blog.csdn.net/qq_29621351/article/details/80991915