vs2022编译webrtc步骤

ops/2025/1/12 8:34:15/

1、主要步骤说明

概述:基础环境必须有,比如git,Powershell这些,就不写到下面了。

1.1 安装vs2022

1、选择使用C++的桌面开发

2、 Windows 10 SDK安装10.0.20348.0 

3、勾选MFC及ATL这两项

4、 安装完VS2022后,必须安装Debugging Tools调试工具。打开控制面板->程序与功能->找到安装的10.0.20348.1->修改->勾选Debuging Tools for Windows

1.2 安装depot_tools工具

准备一个比较大的盘,然后创建一个webrtc目录,比如在D盘

1、进入D盘

        cd D:\\

2、创建webrtc目录

        mkdri webrtc(根据自己需要创建,不一定叫webrtc

 3、然后克隆

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

        这里需要科学上网,否则很容易错误,介绍一个叫毒舌加速器的工具,可以用下

4、然后把depot_tools目录设置为系统环境变量

1.3 设置相关环境变量

set vs2022_install=D:\\vs2022
set GYP_MSVS_OVERRIDE_PATH=D:\\vs2022
set GYP_GENERATORS=msvs-ninja,ninja
set WINDOWSSDKDIR=D:\\Windows Kits\10
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_MSVS_VERSION=2022

也可以直接在系统环境变量设置中设置如下,这样就不用每次都要在终端输入了,记得更新环境变量一定要重新打开终端

1.4 执行 gclient

直接在命令行执行这个命令,让depot_tools下载相关工具,这一步有可能发生错误,我之前在powershell,用set DEPOT_TOOLS_WIN_TOOLCHAIN=0 这个设置没有发生作用,一直报错,在Powershell一定要用这样$env:DEPOT_TOOLS_WIN_TOOLCHAIN="0"

1.5 下载源码

在D盘的webrtc目录新建rtc,存放源码

cd D:\\webrtc\\rtc

fetch --nohooks webrtc

gclient sync(发生了错误也执行这个,同步最新代码)

1.6 编译

进入webrtc\\rtc\\src目录

执行gn gen out/Default --ide=vs2022

如果发生老师说toolchain错误,请看看是不是$env:DEPOT_TOOLS_WIN_TOOLCHAIN="0"

这个没有设置对。

然后编译 ninja -C out/Default

就可以了

最后在out/Default打开all.sln就可以了

备注:文章参考了windows vs2022编译webRtc_webrtc vs2022 编译-CSDN博客


http://www.ppmy.cn/ops/149393.html

相关文章

iOS中的设计模式(二)- 原型模式

引言 在软件开发中,创建对象的过程往往涉及许多复杂的初始化步骤,尤其是在对象之间具有相似属性或状态时。传统的做法是每次都从头开始创建新的实例,然而,这种方法可能导致性能问题和代码冗余。为了解决这一问题,原型…

QT + opencv 实现形状(轮廓)模板匹配

QT opencv 实现形状(轮廓)模板匹配 实现思路 1.创建模板数据:主要是提取模板的轮廓信息,这一步通常通过边缘检测实现。将模板的轮廓信息存储起来。 代码: //创建形状模板 bool cvLearnShapeMatchPattern_(Mat matDst, MyShapeUiParam pa…

字节小米等后端岗位C++面试题

C 基础 引用和指针之间的区别?堆栈和堆中的内存分配有何区别?存在哪些类型的智能指针?unique_ptr 是如何实现的?我们如何强制在 unique_ptr 中仅存在一个对象所有者?shared_ptr 如何工作?对象之间如何同步…

RK3568-ubuntu旋转显示和触摸

旋转屏幕显示 临时生效&#xff1a;xrandr -o <normal,inverted,left,right,0,1,2,3> 永久生效&#xff1a;/etc/X11/Xsession.d/55gnome-session_gnomerc最后一行添加临时生效命令旋转屏幕触摸 方法1&#xff1a;cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc…

机器学习顶会NeurIPS: AGILE: A Novel Reinforcement Learning Framework of LLM Agents

&#x1f31f; 研究背景 &#x1f31f; 随着大型语言模型&#xff08;LLMs&#xff09;在指令遵循、推理和零样本学习等方面展现出卓越的能力&#xff0c;基于LLMs的自主代理&#xff08;LLM Agents&#xff09;的研究逐渐兴起。然而&#xff0c;如何将规划、反思、工具使用等…

模型 九屏幕分析法

系列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。九屏幕法&#xff1a;全方位分析问题的系统工具。 1 九屏幕分析法的应用 1.1 新产品研发的市场分析 一家科技公司计划开发一款新型智能手机&#xff0c;为了全面评估市场潜力和风险&#xff0c;他们…

C#数据库操作系列---SqlSugar完结篇

1. 不同寻常的查询 之前介绍了针对单个表的查询&#xff0c;同样也是相对简单的查询模式。虽然开发完全够用&#xff0c;但是难免会遇到一些特殊的情况。而下面这些方法就是为了解决这些意料之外。 1.1 多表查询 SqlSugar提供了一种特殊的多表查询方案&#xff0c;使用IQuer…

Redis常见知识点

1、什么是缓存穿透&#xff1f; 缓存穿透是指查询一定某个key是否存在&#xff0c;每次不存在都查询DB会把DB压垮。 解决方案的话&#xff0c;我们通常都会用布隆过滤器来解决。 布隆过滤器&#xff1a;在查找一个数是否在一个集合中使用的&#xff0c;通过对数组长度取模&a…