Window下VS2019编译WebRTC通关版

这段时间需要实现这样一个功能,使用WebRTC实现语音通话功能,第一步要做的事情就是编译WebRTC源码,也是很多码友会遇到的问题。

经过我很多天的踩坑终于踩出来一条通往胜利的大路,下面就为大家详细介绍,编译步骤以及踩坑问题吧!

在这里我首先说明:WebRTC的源码我就不提供了,因为我也是沾了别的博友的光,这里我才用的是2021年WebRTC版本

下载源码踩坑记录:

不需要下载git插件、gn插件,只需要下载对WebRTC源码以及depot_tools就行。

编译环境

windows10专业版 + VS2019

踩坑记录:

1:windows系统必须是专业版。

之前我的电脑是windows教育版本,无论如何编译都是不行滴!如果和我一样的版本,赶紧升级吧!

2:最低要求是:VS2019(10.0.19041)

如果你下载的是2021年之前的WebRTC,那么2017有可能支持(我说的是有可能),21版本的我已经替大家试验过了,VS2017无法编译。

环境安装与配置

1:VS2019安装

大家可以从官网上下载VS2019的安装包,我使用的是:vs_community__2019.exe(如果有想要的可以私我哟~)

这一步不必再多说了,安装很简单。

2:配置VS2019中WindowSDK的调试工具

找到Windows 10.0.19041的包

控制面板 --> 程序和功能

找到新安装的工具包后,右键选择更改功能

会出现以下页面

选择"Change"功能,点击"Next",会出现以下页面

默认安装的VS2019程序是没有勾选 "Debugging Tools for Windows ",此时需要勾选上该选项,用于调试。

后续根据提示安装即可。

上述插件信息安装完成后,需要查询10.0.19041对应的widnow kit所在的位置。

可以使用Everything全面搜索,例如我的主机中,路径是:D:\Windows Kits\10\Include

如图所示:

踩坑记录:

此时需要将"10"文件夹,拷贝到:C:\Program Files (x86)\Windows Kits下面,如果不修改,WebRtc代码就会找不到,出现Error WINDOWSSDKDIR

在这里记住:只要已出现"Error WINDOWSSDKDIR"错误,一定是C盘下面的Windows Kits下没有10文件夹,只要全局搜索,考到C盘目录下就行,这个方法最管用了。

3:系统环境变量配置

打开环境变量功能页面,如图所示:

对于其他博友所说的 set DEPOT_TOOLS_WIN_TOOLCHAIN = 0等等配置,其实都是在环境变量中配置的。

那么在环境变量中都需要设置哪些内容呢?

3.1:Path配置depot_tools

正如大家所说,一定要将depot_tools设置到最开始的位置(没毛病!)

3.2:DEPOT_TOOLS_WIN_TOOLCHAIN设置

3.3:版本配置

 3.4:VS2019编译环境配置

3.5:kits环境配置

只需要上述五条环境变量配置即可,多余了也没用。

源码编译

上述步骤完成以后就可以进行源码编译了。

源码编译

找到下载的webRTC源码位置,切换到src文件夹下面,在src文件夹下面启动cmd窗口。

如图所示:

 输入指令:gn gen --ide=vs out/Default

等待编辑结束即可。

到这里WebRTC的源码已经编译完成了,如图所示:

 之前参考其他博友写的内容,总是不成功,终于让我编译出来了,希望我的方法对大家有用,按照我的方式一定不会出现错误的,坑已经为大家踩过了。

我是糯诺诺米团,一名C++开发程序媛~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/659036.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智能合约革命:Web3引领智能化商业的未来

随着区块链技术的日益成熟和普及,智能合约作为其重要应用之一,正在逐渐改变着商业世界的面貌。Web3作为下一代互联网的代表,以其去中心化、加密安全的特性,为智能合约的发展提供了无限可能,将智能合约应用于商业领域的…

工业工程师日子越来越受不了?IE们都在做什么?

有一位工业工程师(IE)毕业在一家工厂工作,入职一年了,本科读的是工业工程,他说理想很美好现实很骨感,以为做和本科一样的职业就能够大展宏图,结果上司天天让他盯生产线,在厂房一站就…

2024HW|常见红队使用工具

目录 什么是HW? 什么是网络安全红蓝对抗? 红队 常见工具 信息收集工具 Nmap 简介 漏洞扫描工具 Nessus简介 AWVS 简介 抓包工具 Wireshark简介 TangGo 简介 web 应用安全工具 Burpsuite 简介 SQLMap webshell 管理工具 蚁剑 冰蝎 后…

定个小目标之每天刷LeetCode热题(3)

这是一道简单题&#xff0c;我这里就只讲两种解法 第一种是数组加双指针&#xff0c;先遍历链表将值存到数组里&#xff0c;然后分别从数组两端进行一一比较判断是否满足回文&#xff0c;代码实现 class Solution {public boolean isPalindrome(ListNode head) {List<Inte…

88.合并两个有序数组

题目解析&#xff1a; 非递减顺序说明&#xff0c;是递增的数列。m 、n分别表示数列1 和 数列2中元素的个数&#xff0c;但是要注意的是&#xff0c;数列1的长度的是mn&#xff0c;不单纯的只是m&#xff0c;所以这里的m的含义需要特别注意。 这道题意思就是说&#xff0c;把列…

工控一体机10.1寸显示器电容触摸屏(YA07JK)产品规格说明书

如果您对工控一体机有任何疑问或需求&#xff0c;或者对如何集成工控一体机到您的业务感兴趣&#xff0c;可移步控芯捷科技。 一、硬件功能介绍 1.1 YA07JK介绍 YA07JK 是我公司推出的一款新型安卓屏&#xff0c;使用电容触摸屏。4 核 Cortex-A7 架构&#xff0c;主频1.2GHz …

STM32——启动文件选择及启动文件宏定义

文章目录 前提&#xff1a;以STM32F1xx系列芯片为例&#xff08;有方法&#xff0c;其他系列一样&#xff09;启动文件选择对应启动文件的寻找方法对应宏定义#define的寻找方法另外 前提&#xff1a;以STM32F1xx系列芯片为例&#xff08;有方法&#xff0c;其他系列一样&#x…

【YOLOv10的使用】YOLOv10的训练/验证/预测/导出模型/ONNX模型的使用

&#x1f680;&#x1f680;&#x1f680; YOLOv10: 实时端到端的目标检测 性能 YOLOv10比最先进的YOLOv9延迟时间更低&#xff0c;测试结果可以与YOLOv9媲美&#xff0c;可能会成为YOLO系列模型部署的“新选择”。 目录 1 安装 2 训练 3 验证 4 预测 5 导出模型 6 ONNX…

Ubuntu20.04升级到22.04之后出现的问题

项目场景&#xff1a; 之前一致使用的是Ubuntu20.04&#xff0c;虽然丑了点&#xff0c;但是用着没什么问题&#xff0c;最近没能按捺住好奇心&#xff0c;升级到了22.04&#xff0c;升级后颜值有所提高&#xff0c;但是也带来了一些问题。 从20.04升级到22.04&#xff0c;起始…

PG TOAST技术

1.Toast简介&#xff1a; Toast是超长字段在PG的一个存储方式&#xff0c;对于用户来说不用关注这一技术的实现&#xff0c;完全是透明的&#xff0c;它会将大字段值压缩或分散为多个物理行来存储&#xff0c;与Oracle的CLOB&#xff0c;BLOB类似。 2.Toast的存储方式&#xf…

基于STM32实现智能水下机器人控制系统

目录 引言环境准备智能水下机器人控制系统基础代码示例&#xff1a;实现智能水下机器人控制系统 电机控制深度传感器数据读取IMU传感器数据读取用户界面与显示应用场景&#xff1a;水下探测与环境监测问题解决方案与优化收尾与总结 1. 引言 本教程将详细介绍如何在STM32嵌入式…

【教程】利用API接口添加本站同款【每日新闻早早报】-每天自动更新,不占用文章数量

本次分享的是给网站添加一个每日早报的文章&#xff0c;可以看到本站置顶上面还有一个日更的日报&#xff0c;这是利用ALAPI的接口完成的&#xff01;利用接口有利也有弊&#xff0c;因为每次用户访问网站的时候就会增加一次API接口请求&#xff0c;导致文章的请求会因为请求量…

Java基础-注解

注解本质是继承了Annotation接口的一个接口 首先&#xff0c;我们通过键值对的形式可以为注解属性赋值&#xff0c;像这样&#xff1a;Hello&#xff08;value “hello”&#xff09;。 接着&#xff0c;你用注解修饰某个元素&#xff0c;编译器将在编译期扫描每个类或者方…

【官方YOLOV10代码训练验证自己的数据集】

*************************************************** 码字不易&#xff0c;收藏之余&#xff0c;别忘了给我点个赞吧&#xff01; *************************************************** Start 官方YOLOV10代码训练验证自己的数据集 官方论文&#xff1a;https://arxiv.…

JavaSE:String类常用方法(巨详细)

1、引言 在学习C语言时&#xff0c;我们就已经了解了字符串&#xff0c;但是在C语言中字符串只能用字符数组或者指针来表示&#xff0c;没有特定的字符串类型&#xff0c;而在Java中&#xff0c;我们有了字符串这一特定的类型---String类。 2、String类的常用方法 2.1 字符串…

鲲泰新闻|神州鲲泰创新智算之旅北京站开幕,发布全新智算架构和液冷整机柜产品应对 “多云、异构、绿色”挑战

5月17日&#xff0c;神州鲲泰智算中国行北京站盛大召开。在本次活动上&#xff0c;神州鲲泰针对用户对大模型训练、大算力需求的痛点&#xff0c;重磅发布多云异构环境下智算中心绿色着陆的产品及方案&#xff0c;包含异构智算调度运营平台HISO、异构智算加速平台HICA以及一体化…

pytest-sugar插件:对自动化测试用例加入进度条

摘要 在自动化测试过程中&#xff0c;测试进度的可视化对于开发者和测试工程师来说非常重要。本文将介绍如何使用pytest-sugar插件来为pytest测试用例添加进度条&#xff0c;从而提升测试的可读性和用户体验。 1. 引言 自动化测试是软件开发过程中不可或缺的一部分&#xff…

windows web提权

#Web到Win-系统提权-人工操作 如果提权中无法执行命令的话&#xff0c;可以尝试上传cmd.exe到可读写目录再调用 优点&#xff1a;解决实时更新不集成的EXP 缺点&#xff1a;操作繁琐&#xff0c;需要各种复现调试 1、信息收集 参考常见命令&#xff08;见上图&#xff09; …

ZYNQ EMIF进行PS与PL间的数据交互

1 概述 AXI-EMC IP 是一个可以可以支持各种内存型号的控制器,利用这个IP可以非常方便地模拟各种类型的内存或者FLASH接口实现数据的交互和通信。以下是AXI-EMC IP的功能特性: 1、支持AXI4 Slave Memory Map 接口,数据宽度为32位和64位 2、支持写入/读取寄存器的可选AXI4-Li…

帝国CMS如何修改时间格式,变成几分钟,几小时教程

该插件已经在帝国cms6.6上测试通过&#xff0c;至于其他版本&#xff0c;请自行测试。 目前支持&#xff1a;标签模板&#xff0c;列表模板&#xff0c;内容模板 安装说明&#xff1a; 把以下的内容复制到 /e/class/userfun.php 文件里&#xff08;放在<?php和?>之间…