美文网首页
编译google angle

编译google angle

作者: 预子 | 来源:发表于2019-10-23 17:10 被阅读0次

首先得准备个代理,只是把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

相关文章

网友评论

      本文标题:编译google angle

      本文链接:https://www.haomeiwen.com/subject/iiykvctx.html