Windows平台编译webrtc

news/2025/3/29 23:01:59/

webrtc_0">Windows平台编译webrtc

前言

  大概在2023年的时候编译过一个版本的webrtc,当时记得编译过程特别坎坷,各种sdk版本和vs版本对不上,时隔2年,再一次编译webrtc源码居然如此简单,这也说明webrtc越来越成熟,越来越好用了。当然编译webrtc最最最重要的离不开好的上网工具,我亲测某些科学上网的工具并不能完整的下载webrtc源码,可能会下载失败或者丢失某些文件,这就给后面的编译造成巨大的麻烦,所以工欲善其事必先利其器,这就需要各位去花点心思找一个好的上网工具了。下面就记录下我最近一次编译webrtc的过程。

1、环境准备

VS版本:Visual Studio Communiyt 2022;
Windows版本: windows11
WindowsSDK版本:10.0.22621.3233
  以上是我自己编译时候使用的版本,实际操作时可以参考我的版本或者尽可能使用最新的版本,新版本出的问题少一些。

第一步:安装VS,直接在官网下载社区版就可以,安装的时候记得勾选windowsSDK(我的默认已经勾选)。
在这里插入图片描述

第二步:安装好VS后,需要安装SDK调试工具,在控制面板->程序->程序和功能中找到刚才安装的windowsSDK,右键选择更改,选择change
在这里插入图片描述
第三步:勾选Debugging Tools for Windows

在这里插入图片描述

2、depot_tools安装

下载depot_tools,直接点击连接下载即可,下载成功后解压到一个非中文目录,然后将depot_tools的路径添加到系统环境变量。
在这里插入图片描述

3、获取和编译源码

第一步:获取源码,按照以下命令进行操作,修改你对应的路径即可。

set vs2022_install=C:\Program Files\Microsoft Visual Studio\2022\Community
set GYP_GENERATORS=msvs-ninja,ninja
set WINDOWSSDKDIR=C:\Program Files (x86)\Windows Kits\10
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
fetch --nohooks webrtc
gclient sync

第二步:设置ninja到环境变量
在这里插入图片描述

第三步:编译源码

cd src
gn gen --ide=vs2022 ../build/release --args="is_debug=false"
ninja -C ../build/release  

编译完成后再build/release/obj目录下可以看到我们编译出来的webrtc.lib,至此webrtc源码编译完成
在这里插入图片描述


http://www.ppmy.cn/news/1583339.html

相关文章

Trae开发贪食蛇小游戏

今天我们用Trae来做一款贪食蛇的H5小游戏,来体验一下对话能力和代码生成效果,话不多说直接开始。 体验地址: 贪食蛇小游戏 直奔主题,开始对话 我要做一个贪食蛇的小游戏,请在index.html中写出代码,在styl…

C#基础学习(一)复杂数据类型之枚举

一、复杂数据类型概述 1.1 为什么需要复杂类型? 当处理包含多个关联值的复合数据时,基础数据类型(int、string等)会面临以下问题: ​可读性差:if(status 2)中的数字难以理解​维护困难:多个…

宝塔面板安装docker flarum失败,请先安装依赖应用: [‘mysql‘]:5/8

安装失败的解决方案 提示错误请先安装依赖应用: [mysql]:5/8 解决方案:不要使用最新的docker mysql,使用5.7.44版本docker mysql,等安装完毕再安装docker flarum就不会报错了。 如果安装完成你不知道默认的账号密码可以看这里 宝塔docker f…

vue创建子组件步骤及注意事项

在 Vue 中创建子组件需要遵循组件化开发的核心原则,并注意数据流、通信机制、复用性等关键点。以下是详细步骤和注意事项,结合代码示例说明: 一、创建子组件的步骤 1. 定义子组件 创建一个 .vue 文件(单文件组件)&am…

如何使用AIOps明确Devps的问题归责

引言 拿出一个确凿的证据往往是解决背锅问题的重要办法。只有这样,才能够在没有互相指责、逃避责任或为自己及团队开脱等不良闹剧的情况下达成共识。DevOps 团队可以借助 AIOps 数据支持的可信度,让问题更清晰、背景更明确,从而一致做出更好…

【负载均衡系列】nginx返回502错误怎么解决

当Nginx返回502 Bad Gateway错误时,通常表示Nginx作为反向代理无法从上游服务器(如应用服务器、PHP-FPM、Node.js、Tomcat等)获取有效响应。以下是系统的排查和解决步骤: 1. 确认上游服务状态 ​检查服务是否运行: # 查看应用服务器进程(以PHP-FPM为例) systemctl statu…

Flink实战教程从入门到精通(基础篇)(四)Flink部署-Standalone运行模式

目录 一、部署模式 1、会话模式(Session Mode) 2、单作业模式(Per-Job Mode) 3、应用模式(Application Mode) 二、Standalone运行模式(了解) 1、会话模式部署 2、单作业模式部…

智慧港口新未来:大数据赋能应急消防,筑牢安全防线

​​一、行业趋势和挑战 随着港口建设快速发展,应急消防安全形势日益严峻,传统与非传统风险交织,火灾防控压力持续加大。企业对应急管理创新提出更高要求,借助科技提升服务质量成为关键挑战。根据国务院安全生产委员会办公室、应急…