Windows平台编译webrtc

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、获取和编译源码

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

bash 复制代码
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到环境变量

第三步:编译源码

bash 复制代码
cd src
gn gen --ide=vs2022 ../build/release --args="is_debug=false"
ninja -C ../build/release  

编译完成后再build/release/obj目录下可以看到我们编译出来的webrtc.lib,至此webrtc源码编译完成

相关推荐
夏虫不可与之言冰37 分钟前
Windows WSL2 (Ubuntu) 搭建 ESP‑IDF 6.1 开发环境全过程演示
linux·windows·ubuntu·esp32·乐鑫科技·乐鑫eim·乐鑫代理商
打工仔折腾 AI3 小时前
FaceFusion本地换脸实战:Windows整合包、模型选择与遮罩调参记录
人工智能·windows·后端·python·深度学习·性能优化·ai agent 实战
草根大哥4 小时前
08-横向扩容与突发高并发:加机器到底买到了什么
运维·webrtc·srt·横向扩容·whip·自建cdn
小蜗牛狂飙记6 小时前
Windows 双击 Jar 包无反应,不用写 bat 脚本!Jarfix 一键修复(以 Struts2 扫描工具为例)
windows·struts·jar
坐看风云变幻6 小时前
Betaflight 开发环境搭建保姆级教程(Ubuntu / Windows+WSL / Docker 三方案 + 官方网址大全)
windows·ubuntu·docker·无人机·飞控·betaflight
草根大哥7 小时前
07-P2P 直连与节点池调度
webrtc·p2p·srt·whip·whep·自建cdn
草根大哥7 小时前
06-可观测性:端到端延迟、稳定性与画质
webrtc·srt·whip·自建cdn·ppcdn
IT技术分享社区7 小时前
在 Windows 上跑未改动的 Linux 程序:微软 LiteBox v0.1 把这件事变简单了
linux·运维·windows·microsoft·开源
kakakahahahaha7 小时前
Win10/Win11 Windows Hello指纹不可用处理:WbioSrvc、传感器驱动与登录策略
windows·电脑·笔记本电脑·内容运营·软件需求
大文说跨境7 小时前
用 Python 自动化检测浏览器环境指纹:WebRTC 泄露、Canvas 哈希与时区一致性校验
python·自动化·webrtc