windows下AlphaRTC环境搭建、编译与调试
设置代理
命令是设置环境变量,只会持续到 cmd 窗口关闭,不是系统环境变量。
cmd
后续需要从google拉webrtc源码,需要设置代理。如果用虚拟机或wsl,请通过ipconfig
查看对应的IP地址。
set http_proxy=http://127.0.0.1:1080
set https_proxy=http://127.0.0.1:1080
验证代理是否成功配置:
curl https://www.google.com
代理清除
set http_proxy=
set https_proxy=
git
git代理设置
git config --global https.proxy http://127.0.0.1:1080
git config --global https.proxy https://127.0.0.1:1080
git代理取消
git config --global --unset http.proxy
git config --global --unset https.proxy
工具安装
vs2017
下载 Visual Studio 2017 (version 15.9)
下载插件:
DEPOT TOOLS
DEPOT TOOLS官网,下载代码压缩包。
配置系统环境变量:我放在D:\depot_tools
,需要在电脑->属性->高级系统设置->环境变量->系统变量PATH->编辑->添加。如下所示
建议在cmd.exe
执行gclient
(不带参数)。在第一次运行时,gclient将安装所有与windows相关的代码位,包括msysgit和python。
如果你从一个非cmd shell(例如,cygwin, PowerShell)运行gclient,它可能看起来运行正常,但msysgit, python和其他工具可能无法正确安装。
ninja
下载ninja,并在ninja根目录运行:
git clone git://github.com/ninja-build/ninja.git && cd ninja
git checkout release
下面这个地址根据你的vs stdio安装位置而改变。
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
python3,可以现在命令行里输入指令python
,查看当前默认版本,如果是python3.x,直接运行如下命令。
python configure.py --bootstrap
如果默认是2.x,可输入python3
,查看是否已安装python3.x,如果未安装建议安装python3.x,已安装执行命令:
python3 configure.py --bootstrap
测试是否安装成功
ninja --help
AlphaRTC编译
基于webrtc,并编写有深度学习python接口。
下载源码:
git clone https://github.com/OpenNetLab/AlphaRTC.git
cd AlphaRTC
建议在这一步就设置set DEPOT_TOOLS_WIN_TOOLSCHAIN=0
,set GYP_MSVS_VERSION=2017
再执行后续步骤,否则在同步时会出错。
这里可能会出错dbghelp.dll not found in “C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\dbghelp.dll”,需要修改win SKD debugging 工具,在文章最后有说明。
同步代码,耐心等待,过程很漫长(几个小时都很正常):
gclient sync
将获取的webrtc源代码移到alphaRTC的根目录:
move src/* .
生成构建规则:
gn gen out/Default
编译:
ninja -C out/Default peerconnection_serverless
运行说明见github.
VScode C++环境配置
参考: VSCode配置C++环境(MSVC).
遇到的问题
1.dbghelp.dll not found in “C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\dbghelp.dll” 或 You must install the “Debugging Tools for Windows” feature from the Windows 10 SDK.
2. VCRUNTIME140_1.dll找不到
在C:\windows\system32下查找该文件,找不到就在网上下载一个或者从别的电脑上copy放在改目录下。
3. (stun_port.cc:596): sendto : [0x00002743] 向一个无法连接的网络尝试了一个套接字操作。
将config文件中的地址“0.0.0.0”改为“127.0.0.1”
4. ONNXInfer.dll找不到
把这个dll放在peerconnrction_serverless.exe同目录下。