这段时间需要实现这样一个功能,使用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
如图所示:
踩坑记录:
出现:Error WINDOWSSDKDIR。
有博友建议全局搜索"10"文件夹,拷贝到:C:\Program Files (x86)\Windows Kits下面,如果不修改,WebRtc代码就会找不到,出现Error WINDOWSSDKDIR。
其实,我们只需要在环境变量中配置成D盘就可以了,真的!不需要进行拷贝。
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 --target=x64 --ide=vs2019 --args="is_debug=true rtc_enable_protobuf=false is_clang=false target_cpu=\"x64\" enable_iterator_debugging=true use_custom_libcxx=false symbol_level=0 rtc_include_tests=false" out/debug_x64
结束后,输入下一条指令:ninja -C out/debug_x64
注意:上面是生成的debug版本,如果想要生成Release版本,只需要将"is_debug = false"就可以了。
等待编译完成后,就会生成webrtc.lib了。
接下来就可以使用sample中的例子进行操作啦!
之前参考其他博友写的内容,总是不成功,终于让我编译出来了,希望我的方法对大家有用,按照我的方式一定不会出现错误的,坑已经为大家踩过了。
我是糯诺诺米团,一名C++开发程序媛~