webrtc编译容易遇到的问题

发布于 2022-11-18 | 作者: darkGer | 来源: CSDN博客 | 转载于: CSDN博客

一、开发环境准备

1、准备源码,需要搭梯子

声网镜像地址

2、Visual Studio 2019安装

下载地址

在上述下载地址只是一个在线安装工具,选择vs2019进行安装。

3、python3.10安装

python下载地址

我选择的是64位的,需要别的可以自行选择,基本下一步下一步就可以

上述3步,可能就是源码下载有点难,需要搭梯子,否则很难成功,具体如何下载源码可以参照声网的例子,这个不详细阐述

二、环境变量设置

需要将这些写到环境变量中

1、vs2019_install=D:\Program Files (x86)\Microsoft Visual Studio\2019\Community

2、GYP_GENERATORS=msvs-ninja,ninja

3、WINDOWSSDKDIR=D:\Windows Kits\10

4、DEPOT_TOOLS_WIN_TOOLCHAIN=0

这步不能少,编译的时候,告诉系统,不再更新depot_tools工具,而是使用本地下载源码里面自带的depot_tools

5、GYP_MSVS_OVERRIDE_PATH=D:\Program Files (x86)\Microsoft Visual Studio\2019\Community

将上述变量,加到系统环境变量中,这样在任意位置打开cmd窗口后,能识别已有环境

三、编译

1、进入源码路径/checkout/src

2、window下起一个cmd窗口

gn gen --ide=vs2019 out/release --args=“use_custom_libcxx=false use_custom_libcxx_for_host = false use_rtti=true is_debug=false”

//use_custom_libcxx,使用vs开发需要增加这个参数,不然 webrtc 使用内置的libc++库,会与vs的libstdc++冲突

//不使用use_rtti=false的话,代码中使用typeid则会编译不过

//is_debug标识是否是debug版本

3、ninja -C out/release