WebRTC:如何编译Windows版本的WebRTC(M66)
我主要做安卓上的WebRTC,然⽽为了读懂源码,不得不使⽤PC版本来调试源码。so...
环境: Windows 10,Visual Studio 2017(企业版),Python,depot_tools
注意:2017版本的下载器如果提⽰因为⽹络原因下载不了,那可能是因为缺少了Visual Studio Installer,可以想办法先下载⼀个Visual Studio Installer,然后在运⾏下载器(下载Visual Studio Installer可以先点击官⽹中的下载器,待下载器⾃动下载完Installer之后,关掉下载器,再运⾏本链接中的下载器。
⽤下载器安装VS2017时,要选择桌⾯C++开发功能以及MFC and ATL support。另外,WIN10 SDK必须安装10.0.15063版本,其余版本可能导致编译失败。下⾯是我安装时选择的组件。
源码:这就不⽤说了,主要靠......
编译:打开DOS命令台(最好是搜索 适⽤于vs2017的 x86 本机⼯具命令提⽰)。
然后进⼊源码⽂件夹中
set DEPOT_TOOLS_UPDATE=0 #不更新depot_tools
set DEPOT_TOOLS_WIN_TOOLCHAIN=0 #编译时使⽤本机VS⼯具链
web下载官方下载set GYP_MSVS_VERSION = 2017 #指定VS版本
set GYP_MSVS_OVERRIDE_PATH = C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise #vs安装路径,替换成⾃⼰的
set GYP_GENERATORS=msvs-ninja,ninja #使⽤ninja编译
上⾯的 GYP_MSVS_OVERRIDE_PATH 最好不要替换,因为环境中有的地⽅已经把位置写死了,单纯改⼀处可能不管⽤。
最后进⼊源码下编译
cd webrtc-checkout/src
gn gen out/Default --ide=vs2017 #⽣成VS2017解决⽅案
ninja -C out/Default #开始编译
也可以不执⾏上⾯那⼀步⽽⽤使⽤vs编译,在vs界⾯:⽂件->打开->项⽬/解决⽅案->webrtc-checkout/src/out/Debug/all.sln 然后⽣成
然后在源码中out/Debug⽬录下到和,这两个分别是服务器和客户端的demo,如果想调试⾳视频引擎,就将vs界⾯ 解决⽅案资源管理器中examples下的peerconnection_client作为启动项,另外在别的机器上启动⼀个client和server就能单步调试了(⼀定要有摄像头)。
编译的后两步过程也可以是
//下⾯⼀条指令⽣成VS2017的win32 debug⼯程
gn gen out/Debug --ide=vs2017 --args="is_debug=true target_cpu=\"x86\""
//下⾯⼀条指令⽣成VS2015的win32 release⼯程
gn gen out/Release --ide=vs2017 --args="is_debug=false target_cpu=\"x86\""
//以上⽅法均建议使⽤ninja⽅法编译,速度快
ninja -C out/Debug
//或者
ninja -C out/Release
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论