首先得准备个代理,只是把angle从github的镜像地址下下来没用,还有很多依赖
编译angle需要depot_tools,depot_tools镜像也有依赖,第一次运行gclient会去404网站下载依赖
我的代理不是vpn,cmd下需要设置的代理
set HTTP_PROXY=127.0.0.1:10002
set HTTPS_PROXY=127.0.0.1:10002
git代理
http代理
git config --global https.proxy http://127.0.0.1:10001
git config --global https.proxy https://127.0.0.1:10001
或socks5
git config --global http.proxy 'socks5://127.0.0.1:10001'
git config --global https.proxy 'socks5://127.0.0.1:10001'
取消
git config --global --unset http.proxy
git config --global --unset https.proxy
禁止depot_tools升级
set DEPOT_TOOLS_UPDATE=0
编译angle set DEPOT_TOOLS_WIN_TOOLCHAIN=0
depot_tools添加到环境变量set path=depot_tools;%path%
在depot_tools下运行gclient或在angle下gclient sync大概率会有
metrics.py", line 267, in print_notice_and_exit等python异常,得去修改depot_tools\bootstrap\bootstrap.py,关于open文件的代码打开成rb模式,改完引起的其他问题调通它,改成utf-8还会导致subprocess2.py异常environment can only contain strings,utf-8字符串竟然不是str类型,还要改subprocess2.py,kwargs["env"]字典里面传环境变量的有utf-8串的遍历全部encode('gbk'),改完之后应该可以gclient sync了,总之这个问题是字符集的问题。
python里设置代理(看情况需要)
httpproxy_handler = urllib.ProxyHandler({"http" : "127.0.0.1:8118","https": "127.0.0.1:8118"},)
opener = urllib.build_opener(httpproxy_handler)
urllib.install_opener(opener) #全局代理
看urllib是否urllib2,不是的看是否urllib.request。python3是urllib.request.ProxyHandler | urllib.request.build_opener | urllib.request.install_opener。request是单独import的
python socket代理 (看需要添加 httplib2不是urllib代理)
import socks #socks 需要安装 依赖 win_inet_pton也需要安装
import socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5,"127.0.0.1",8118)
socket.socket =socks.socksocket
需要修改depot_tools\ninjalog_uploader.py isGoogler httplib2的代理
h=httplib2.Http(proxy_info = httplib2.ProxyInfo(socks.PROXY_TYPE_HTTP,"127.0.0.1", 8118))
gn args out/Debug会弹出记事本填写args参数
然后回复制很多dll到debug目录,dbghelp.dll not found 需要安装win10sdk
https://developer.microsoft.com/en-us/windows/downloads/sdk-archive
官方虽然有生成visual studio sln的参数,建议不要,即便生成sln,也是命令行call ninja,所以又要求在全局添加depot_tools path,只是在cmd添加就没用了,如果没有设置is_clang=false,大概率会出现failed to create minidump: LoadLibrary('dbghelp.dll'),页面文件太小。windows上还是用微软的编译器最省事。
设置is_clang=false开始编译后llvm的一个超大inc文件可能会导致编译器内存不足的问题
目录 angle\third_party\SwiftShader\third_party\llvm-7.0\configs\common\lib\Target\X86
这个会导致编译中断然后谷歌可能会上报错误调用httplib2请求404的网页
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/fatal-error-c1060
去修改angle\third_party\SwiftShader\third_party\llvm-7.0\BUILD.gn 添加cflags /Zm2000
谷歌项目编译问题特别多
https://github.com/google/angle
https://chromium.googlesource.com/angle/angle
https://chromium.googlesource.com/chromium/tools/depot_tools.git
https://gitee.com/wag173/google_angle/tree/master 这里有angle\out 编译好的gles模拟器 libEGL.dll libGLESv2.dll
网友评论