美文网首页
编译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