• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2020-09-30 08:43 Aet 隐藏边栏 |   抢沙发  2 
文章评分 0 次,平均分 0.0

简述

经过无尽的折磨之后,总结了以下关于WebRtc工程在Windows10下的配置部署经验

环境

webrtc会自己下载他依赖到的一些东西,并区别于外部安装的同款产品的环境,根据我的了解,大概是通过depot_tools这个系统环境变量的内容来管理的。

  • git
  • python2

Win SDK

在VS里面安装WIN10 SDK,在控制面版里面找到程序与功能,进去之后i找到安装的那个SDK,选择Change,勾选Debugging Tools For Windows

或者

单独安装WIN10SDK,做同样的操作,然后记住安装路径

git环境

VS环境

需要注意的是,这个环境变量是属于当前打开的那个cmd窗口或者cmder窗口设置的临时变量,如果下一次再配置安装重新打开了一个操作窗口时,就需要重新设置了。除非把这些东西加入到系统环境变量里面,但好像没什么必要。

git镜像仓库

depot_tools

下这个的时候不需要开VPN就可以下

系统环境变量

将上述depot_tools路径加入到系统环境变量里面,并移动到靠上面的位置

同步代码

在depot_tools统计路径创建一个文件夹,用于存放代码

环境问题

  • 有可能遇到tar相关的系列错误,这个得重启电脑,然后前面的东西,重新配置一边,重新来过
  • 有可能遇到WINDOWSSDKDIR的问题

生成VS工程方案

进入到webrtc下面的src文件夹里面

关于gn gen后面的参数:

  • --ide=vs2019
  • --args=""
    • use_rtti=true
    • is_clang=false
    • rtc_build_tools=false
    • rtc_include_tests=false
    • rtc_build_examples=false

按理说到这一步应该差不多就能在out文件夹成功看到all.sln了,但是webrtc这一套解决方案里面涵盖的东西太多了,很多东西不了解,所以也就不可控,如果还是有问题,根据相关提示再行解决。

VS编译问题

打开all.sln,对下面的webrtc进行编译,如果成功,会生成一个webrtc的静态库,大概有400M左右。

但是可能会遇到问题:

  • 如果提示STL1000这个错误,说是clang版本有问题,那就要重新编我们的VS工程了,这次编的时候,要在--args=""里面,添加上is_clang=false,为什么会出现这样的错误,我们的VS里面有clang的东西的,而且版本肯定也是比较新的版本的。原因大概是配置环境的不匹配问题导致的,比如,使用Mingwclang去编的话可能就没问题,那使用VS来编,又指定了clang(从这里可以看出,webrtc的工程默认配置里面大概是默认用clang的),于是他在版本验证的时候没有通过,导致出现STL1000这样的问题。

ninja编译

项目带有谷歌自己的构建体系ninja来代替了cmake这种构建体系,据说是比较方便,快速,我用的时候,感觉是不慢的。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2021-11-20
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享