zoukankan      html  css  js  c++  java
  • vs2017 编译最新chromium

    1、准备

    ssr,模式为系统全局,这样可以让python走代理。go和git的需要单独设置,后面说。

    vs 2017 ,我使用的是community版本,即社区版。其他版本亦可。

    win10 sdk, https://developer.microsoft.com/zh-cn/windows/downloads/sdk-archive, 我下的Windows 10 SDK 版本 1809 iso

    depot tools, https://storage.googleapis.com/chrome-infra/depot_tools.zip

    2、配置

    打开ssr的本机代理

    解压depot tools 并设置环境变量PATH

    为避免depot tools更新失败,直接在环境变量里设置DEPOT_TOOLS_UPDATE0,并设置DEPOT_TOOLS_WIN_TOOLCHAIN0

    为go设置代理也是写环境变量

    HTTP_PROXY http://127.0.0.1:1080 

    HTTPS_PROXY http://127.0.0.1:1080

    最后是这样

     GYP的几个变量不知道是否有用,你可以删除试试

    3、下载代码

    新建一个chromium目录,开cmd, cd chromium,

    设置git代理

    git config --global http.proxy http://127.0.0.1:1080

    git config --global https.proxy http://127.0.0.1:1080

    下载源码 fetch --nohooks --no-history chromium, --no-history不下载变更历史,因此下载量较小,--nohooks加不加不所谓吧 反正最后都要执行hook

    同步代码 gclient sync

    下载有两个阶段,一是源码,一是引用的三方库的代码。

    如果源码没下完断了建议删了重新fetch,否则sync会重新下载带有历史变更记录的代码,非常大,如果三方引用断了,gclient sync 会仅同步三方引用的。

    4、编译配置

    cd src

    执行gn gen out/Default --ide=vs2017生成vs解决方案,即使使用vs,项目的编译工具仍然是ninja。

    5、开始编译

    使用vs打开 out/Default/all.sln 或者 ninja -C out/Default chrome 开始编译。编译需要很久,半天到一天吧。

    直接ninja -C out/Default,不指定chrome的话,编译的文件更多。

    6、编译参数

    查看编译的参数 gn args out/Default --list >> gnargs.txt,然在src/gnargs.txt查看。如果不输出到文件,cmd界面显示不完整。

    配置编译的参数 gn args out/Default,将打开一个txt,将上面能见的你又需要自定义的参数写到里面即可。

    常用的参数

    下面说明一些常见的参数:

    target_cpu="x86":指明生成的针对X86架构的CPU。

    is_debug=false:指明生成的是Release版本可执行程序。

    is_official_build=true:指明使用Chrome官方的编译优化建议。

    proprietary_codecs:指明支持H264编码,编译时,自动H264相关组件,打包PE文件中。

    enable_nacl=false:指明关闭支持NACL,这是一种Chrome插件,因为安全性,稳定性存在问题,已经很少使用了。

    remove_webcore_debug_symbols=true:指明删除内核层支持调试的符号文件,这样,有助于减少文件体积,提高运行速度。

    更多关于gn

    https://www.chromium.org/developers/gn-build-configuration

  • 相关阅读:
    最小的K个数
    堆排序
    归并排序
    希尔排序
    快速排序
    二分查找
    数组中出现次数超过一半的数字
    包含min函数的栈
    栈的压入、弹出序列
    中缀表达式转后缀表达式
  • 原文地址:https://www.cnblogs.com/mrtiny/p/10079046.html
Copyright © 2011-2022 走看看