谷歌开源项目Chromium的源码获取与项目构建(Win7+vs10/vs13)

2023-11-15

从12年那会儿开始获取源码和构建chromium项目都是按照那时候的官方要求用win7+vs2010,相对来说也比较简单,按照步骤来也很快能编译出来。

1.官网的编译配置介绍:http://www.chromium.org/developers/how-tos/build-instructions-windows

2.编译需要的工具:vs2010/sp1,win8sdk,DXSDK,depot_tools

我用的工具都是在这里了:2010CompilerToolsForChrome

depot_tools也可以从官方获取:depot_tools (命令行下执行 gclient 它会自动下载安装构建项目解决方案所需要的工具 python, git 和 svn ),下载下来之后找个地方解压出来,比如我是解压到E:盘下。

3.修改配置
按照官网说的,配置环境变量:GYP_MSVS_VERSION和depot_tools的path路径。
如果win8SDK的安装路径不是默认的 C:\Program Files (x86)\Windows Kits\8.0 的话,就需要增加一个环境变量。
GYP_DEFINES 值为你真正安装win8SDK的位置,比如C:\Users\Kuerjinjin\Downloads\Windows Kits\8.0
 
配置DirectX sdk的头文件及lib库路径:
windows键 + r键,输入%localappdata%\Microsoft\MSBuild\v4.0 并运行,在弹出的文件夹列表中找到Microsoft.Cpp.Win32.user.props和Microsoft.Cpp.x64.user.props并修改这两个文件。

<span style="font-size:18px;"><PropertyGroup> 
    <IncludePath>$(DXSDK_DIR)\Include;$(IncludePath)</IncludePath> 
    <LibraryPath>$(DXSDK_DIR)\Lib\x86;$(LibraryPath)</LibraryPath> 
</PropertyGroup>

<PropertyGroup> 
    <IncludePath>$(DXSDK_DIR)\Include;$(IncludePath)</IncludePath> 
    <LibraryPath>$(DXSDK_DIR)\Lib\x64;$(LibraryPath)</LibraryPath> 
</PropertyGroup> </span>

修改WRL的头文件,默认C:\Program Files (x86)\Windows Kits\8.0\Include\winrt\asyncinfo.h
找到 enum class AsyncStatus { ... }
改成 enum /*class*/ AsyncStatus { ... }
4.代码获取:
找一个空间超过60G的磁盘比如E:\,创建文件夹chromium30,命令行下切换到该目录,
<span style="font-size:18px;">>e:
>cd chromium30
>gclient config http://src.chromium.org/svn/releases/30.0.1559.0/ </span>

拉取目前最新的源码配置,当然你也可以在http://src.chromium.org/svn/releases/中选择自己想要的源码版本。
一般会在当前目录下生成一个.gclient的配置文件。为了减少不必要的代码获得的时间浪费,打开.gclient文件在“custom_deps”节里忽略掉部分测试代码,如:
<span style="font-size:18px;">solutions = [ { "name"        : "30.0.1559.0",
                        "url"         : "http://src.chromium.org/svn/releases/30.0.1559.0",
                        "deps_file"   : "DEPS",
                        "managed"     : True,
                        "custom_deps" : {
                                   "src/webkit/data/layout_tests/LayoutTests": None,
                                   "src/third_party/WebKit/LayoutTests": None,
                                   "src/chrome/tools/test/reference_build/chrome": None,
                                   "src/chrome_frame/tools/test/reference_build/chrome": None,
                                   "src/chrome/tools/test/reference_build/chrome_linux": None,
                                   "src/chrome/tools/test/reference_build/chrome_mac": None,
                        },
                       "safesync_url": "",
                      },
]</span>

不要关闭命令提示,直接在当前目录下输入gclient sync --force 进行源码的同步。接下来就等吧,这个同步的时间会很长,要同步十几G的文件下来。正常情况下会在同步完成之后生成解决方案。如果没有,在当前目录下接着输入gclient runhooks --force。如果确保已经100%同步完成了,生成解决方案的话可以直接输入 python build/gyp_chromium
如果是第一次接触这个项目,那么找一下 src/chrome/chrome.sln 打开,将chrome项目设置为启动项目,然后调试就OK。
-------------------------------------------------------------------------------------------------------------------------------
自美国时间2014年3月1日开始,谷歌对chromium源码的构建方式做了调整。
关于系统版本只支持Windows 7 x64或更高版本, x86的操作系统已经不再支持。
从chromium r254340(chromium33)之后的版本,默认的调试工具唯一指定为Visual Studio 2013,
所以如果使用最近的源码进行构建,需要安装VS2013并修改 GYP_MSVS_VERSION=2013
而构建工具除了之前一直在使用的 depot_tools ,还增加了 ninja 工具的配合(ninja也是整合在了depot_tools中)。
所以一直在使用旧版本depot_tools的开发者们,需要先更新 depot_tools (之前也就300M左右,更新后约1.86G)了。
另外一个就是要获取VS2013的工具链脚本(toolchain script)
该工具链脚本不会修改系统环境,所以使用VS13或者之前的VS10都木有问题。
下载后的工具链脚本存放在 depot_tools \ win_toolchain \ vs2013_files 
如果系统中安装了VS2013,你可以用它来编辑和调试,ninja 将仍然使用depot_tools来构建版本。
具体就以下两步:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

谷歌开源项目Chromium的源码获取与项目构建(Win7+vs10/vs13) 的相关文章

  • ubuntu 安装rtorrent 下载

    apt get install rtorrent 在根目录下 建立 rtorrent rc 最小允许peer数 min peers 3 最大允许peer数 max peers 500 最大同时上传用户数 max uploads 10 最大下

随机推荐

  • 数据结构7/23—链表实现简单的学生信息管理系统

    目录 定义结构体存储学生信息 姓名 成绩 功能实现 各种功能函数如下 菜单函数 创建链表函数 判断是否为空的判空函数 插入函数 头插方式实现 遍历链表函数 排序输出 升序 输出最高分学生信息 以名字查找该学生的前驱节点 通过名字删除学生信息
  • Flutter Cocoon 已达到 SLSA 2 级标准的要求

    文 Jesse Seales Dart 和 Flutter 安全工作组工程师 今年年初 我们发布了 Flutter 2022 产品路线图 其中 基础设施建设 这部分提到 2022 年 Flutter 团队将增加对供应链的安全的投入 目的是达
  • PHP启动warning:PHP Startup: Unable to load dynamic library 'curl.so'

    高通ar9531上面 openwrt1806这个版本 通过opkg安装了官方的php及其扩展 但新的板子php启动的时候报了warning 没有太仔细看 但是后面运行cgi程序时 发现了问题 回头看warning日志 PHP Warning
  • Android Socket 简单介绍

    文章目录 前言 一 Socket是什么 百度百科的解释 我自己的理解 二 简单示例 1 服务端 2 客户端 3 布局 4 实现 参考 总结 前言 最近需求需要使用Socket进行通讯 我在工作后的安卓开发中没有接触过 所以有了这篇文章 写的
  • 《每日一题》NO.41:FPGA内部资源有哪些?

    芯司机 每日一题 会每天更新一道IC面试笔试题 其中有些题目已经被很多企业参考采用了哦 聪明的你快来挑战一下吧 今天是第41题 FPGA设计工程师也是一个比较热门的职位 FPGA中都包括哪些资源呢 今天的题就是这样啦 开始解题吧 公布答案
  • 内窥镜胶囊(胶囊内镜)硬件方案

    内窥镜胶囊 胶囊内镜 胶囊内窥镜 硬件方案 前言 说明 该方案为作者2018年上半年完成的第一版 后来搁置了一段时间 才重启这个项目 目前 2020 07 第二版已经快要完成 联系v 1 7 6 3 3 3 5 0 8 7 0 先给一下第一
  • Visual Studio Code结合Git与GitHub的完整步骤

    一 Visual Studio Code安装 官网下载地址 https code visualstudio com Visual Studio Code是一个精简版的迷你Visual Studio 并且可以跨平台 Windows Mac L
  • centos7.6安装mysql

    卸载mariadb 解决安装mysql与mariadb冲突问题 卸载干净mariadb 何妨徐行的博客 CSDN博客 安装rpm包前可能需要的命令 yum install openssl devel用于管理rpm包的工具 yum insta
  • 雪崩 计算机组成原理,计算机组成原理复习资料(学习课件整理版可自学使用).doc...

    一 本课程在计算机系统中的位置 一 课程目标 1 结构与原理掌握 建立计算机系统的整机概念 掌握计算机各部件的组成原理与技术 了解计算机系统组成与结构的新技术 2 分析与计算能力 掌握对组成与结构进行性能分析的方法 通过量化计算 加深对组成
  • 李沐动手学深度学习V2-目标检测SSD

    一 目标检测SSD 单发多框检测 1 介绍 SSD模型主要由基础网络组成 其后是几个多尺度特征块 基本网络用于从输入图像中提取特征 因此它可以使用深度卷积神经网络 单发多框检测论文中选用了在分类层之前截断的VGG 现在也常用ResNet替代
  • css中hover变大效果

    html代码 div img src img 11 jpg alt div css代码
  • 轻试Nginx的负载均衡

    看到网上的负载均衡 一直都没有怎么看过 也不理解 今天从网上学着点在windows下用Nginx来试试 我的os是windows xp 用的web服务器时IIS5 1 用了两台同在一个局域网的电脑 分别装有IIS 作为web服务器 地址为1
  • Linux如何查找杀死僵死进程

    最近工作过程中 发现好几台服务器出现僵死进程 如图 用下面的命令找出僵死进程 ps A o stat ppid pid cmd grep e Zz 命令注解 A 参数列出所有进程 o 自定义输出字段 我们设定显示字段为 stat 状态 pp
  • 数组随机排序的两种实现方法

    1 利用数组中的sort 方法 arr arr sort gt Math random 0 5 2 Fisher Yates Shuffle 复杂度为O n 从后向前遍历 不断将当前元素与随机位置的元素 除去已遍历的部分 进行交换 func
  • 海尔对话 Unity:作为数字转型的高阶形态,数字孪生发展前景不可逆

    来源 数字化企业 作为信息化发展到一定程度的必然结果 数字孪生正成为人类解构 描述和认识真实世界和虚拟世界的新型工具 从发展态势来看 数字孪生不仅是全新信息技术发展的新焦点 也是各国实现数字化转型的新抓手 还是众多工业企业业务布局的新方向
  • 第4章 微服务框架主体搭建

    mini商城第4章 微服务框架主体搭建 一 课题 框架搭建 二 回顾 1 整体业务功能分析 2 根据业务需求设计表结构及字段 三 目标 1 版本控制器的搭建使用 2 能独立自主的搭建微服务框架 3 学会考虑一些公共的工具组件 4 网关模块的
  • 树莓派初始使用相关问题及解决方法

    1 SSH连接 网线连接电脑 在无线图标上右键 打开 网络和internet设置 更改适配器设置 在WLAN上面右键 选择属性 共享 勾上 在cmd里面 可以输入 ping raspberrypi local 若显示不是ip 则ping 4
  • opencv3/C++ 机器学习-最邻近算法KNN识别字符

    如图 有如下字母表 现尝试采用最邻近算法KNN 取前10列字符作为训练数据 然后识别字母表中的字符 创建训练数据 首先通过获取前10列字符的轮廓外接矩形 将字符裁剪出作为训练样本建立图库 include
  • 【R语言】富集分析可视化代码(整理版)

    前面几期 干货预警 原来基因功能富集分析这么简单 R语言 基因GO KEGG功能富集结果可视化 保姆级教程 和 R语言 基因GO KEGG功能富集分析 超级简单的保姆级教程 分别介绍了如何使用DAVID在线分析工具对基因进行GO KEGG功
  • 谷歌开源项目Chromium的源码获取与项目构建(Win7+vs10/vs13)

    从12年那会儿开始获取源码和构建chromium项目都是按照那时候的官方要求用win7 vs2010 相对来说也比较简单 按照步骤来也很快能编译出来 1 官网的编译配置介绍 http www chromium org developers