windows搭建chromium浏览器编译环境

构建chromium

经过一段时间探索研究,对chromium最新的构建方式稍有了解。总结得出,在搭建环境的时候,必须严格依照chromium官方给出的环境要求,安装编译环境。

源码下载必须解决墙的问题,建议有条件的通过连接代理服务器下载,大概10G源码。

编译环境

  • 操作系统 win10 企业版 1709
  • 编辑工具 Visual Studio 2017 社区免费版
  • 内存16G
  • 磁盘大小250G

安装

设置系统环境变量

系统变量备注
PATHC:\src\depot_toolsdepot_tools安装目录 移动到最顶端
DEPOT_TOOLS_WIN_TOOLCHAIN0告诉depot_tools使用您本地安装的Visual Studio版本(缺省情况下,depot_tools将尝试使用Google内部版本)
GYP_GENERATORSmsvs-ninja,ninja指定编译工具
GYP_MSVS_OVERRIDE_PATHE:\Program Files (x86)\MV2017Visual Studio 安装目录
GYP_DEFINESChromium buildtype=Dev component=shared_library disable_nacl=1依赖

部署过程

公司提供专用的VPN通道,无需解决翻墙问题。

一.安装Visual Studio 2017 工具

  • 使用C++的桌面开发
  • Visalt Studio 扩展开发
  • [单个组件]Windows 10 SDK (10.0.15063.0) for Desktop c++ [x86 and x64]
  • [单个组建] MFC 和
  • Windows DriverKit(通过链接下载安装)下载地址

二.通过depot_tools工具获取代码

  1. 执行gclient命令,安装python + msysgit
gclient

// 执行成功提示版本信息
python -v 
git
复制代码
  1. 设置git配置信息
git config --global user.name "My Name"
git config --global user.email "my-name@chromium.org"
git config --global core.autocrlf false
git config --global core.filemode false
git config --global branch.autosetuprebase always
复制代码
  1. 创建chromium为目录
mkdir chromium && cd chromium
复制代码
  1. 运行该fetch工具depot_tools检查代码及其依赖关系,下载代码(大约18G左右)
// 建议不要使用 fetch --no-history chromium 命令
// 获取全部代码包括git记录
fetch chromium
复制代码

三.根据需要切换分支tag版本

  1. 获取tags
git fetch -t
git checkout -b <local-branch-name> tags/<tag name>
复制代码

示例:

https://chromium.googlesource.com/chromium/src.git/+refs 
git checkout -b <local-branch-name> tag的sha1值  
复制代码
  1. 同步子projects,根据src\DEPS内的配置将依赖的库checkout到需要的revision Uri
gclient sync
复制代码

在编译时遇到fatal: reference is not a tree: webrtc

// 用这个版本替换了DEPS文件中的版本
git checkout d68fcc42256f0f6483d562aa69531091560ff9f2 
gclient sync
复制代码

四.使用Gn构建工具生成编译方案

  1. 修改编译方案
::启用official build  
::修改src\build\config\BUILDCONFIG.gn,将is_official_build的值改为true  
  
::去掉显示头文件的包含树  
::修改src\build\toolchain\win\BUILD.gn,将/showIncludes删除掉 
复制代码
  1. 生成ninja编译脚本 gn配置
cd src  
gn gen out/Default  
复制代码
  1. 修改ninja编译参数,如target_os="win",target_cpu="x64"等 参考链接
gn args out/Default 


is_debug = false
symbol_level = 0
enable_nacl = false
target_cpu = "x64"
target_os = "win"
google_api_key = "AIzaSyBPsfyKutEqu_7liVtbYqrY7QKlYsd8xoU"
google_default_client_id = "1000406808719-ghvvdlf749dvc6cvvqpb9uqi9l66tg9d.apps.googleusercontent.com"
google_default_client_secret = "XWhKLxZGu1Q70PSB5ikSycTb"

复制代码

五.开始编译

ninja -C out/Default chrome 
复制代码

经过10小时左右的编译,终于成功编译出第一个chromium浏览器 up

参考文档

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值