VS2010 Chromium编译

推荐使用Windows 7及以后系统,最少8G内存,预留出50G磁盘空间


搭建Visual Studio 2010开发环境
1.安装Visual Studio 2010专业版或者旗舰版

2.安装VS2010 SP1补丁包

3.安装Windows 8 SDK
设置环境变量GYP_DEFINES=windows_sdk_path="path to sdk"
例如: 环境变量 GYP_DEFINES和windows_sdk_path都设为C:Program Files (x86)Windows Kits8.0

4.安装DirectX 2010 June

5.修改Windows 8 SDK
将Windows 8 SDK安装目录下Includewinrtasyncinfo.h文件中的
enum class AsyncStatus {
改为enum /*class*/ AsyncStatus {
修改方式必须和下图保持一致,如果将原先行注释了,然后再添加修改后的行,则在编译的时候会出错,提示Windows 8 SDK未打patch
例如:
1>------ Build started: Project: gen_asm_offsets_vp8, Configuration: Debug Win32 ------
1>  Generate assembly offsets C:codechromiumsrcuildDebugobjgen_asm_offsets_vp8vp8_asm_enc_offsets.obj.
2>------ Build started: Project: check_sdk_patch, Configuration: Debug Win32 ------
2>  check_sdk_patch_action
2>
2>CUSTOMBUILD : error : You are using an unpatched Windows 8 SDK located at C:/Program Files (x86)/Windows Kits/8.0.
2>  Please see instructions at
2>  http://www.chromium.org/developers/how-tos/build-instructions-windows
2>  for how to apply the patch to build with VS2010.
2>
3>------ Build started: Project: chrome_main_dll, Configuration: Debug Win32 ------
========== Build: 2 succeeded, 1 failed, 478 up-to-date, 0 skipped ==========

Index: asyncinfo.h
===================================================================
--- asyncinfo.h
+++ asyncinfo.h
@@ -63,7 +63,7 @@
#pragma once
#ifdef __cplusplus
namespace ABI { namespace Windows { namespace Foundation {
-enum class AsyncStatus {
+enum /*class*/ AsyncStatus {
   Started = 0,
   Completed,
   Canceled,

6.设置环境变量GYP_MSVS_VERSION=2010
2010为vs2010

7.获取depot_tools
https://src.chromium.org/svn/trunk/tools/depot_tools.zip
放在本地磁盘上并且把depot_tools目录添加到PATH环境变量里

8.下载Chromium源码包,不推荐使用svn下载,太慢而且容易被盾
http://chromium-browser-source.commondatastorage.googleapis.com/chromium_tarball.html
解压到本地,只保留目录层级chromiumsrc*

9.创建文件%USERPROFILE%.gypinclude.gypi
例如:C:Usersjian.gypinclude.gypi
在该文件中添加以下内容:
{'variables': {'component': 'shared_library'}}

10.运行gclient runhooks --force 生成sln解决方案文件

11.打开chrome/chrome.sln解决方案,将chrome项目设置为启动项目,右键菜单Build。这样可以不用编译很多Test项目。

大概几个小时,依据具体设备配置而定,如果使用了SSD编译会快很多。

image

Chromium在Debug版下编译出的浏览器图标是蓝白色

使用Chromium源码包为chromium.r197479

由于众所周知的原因,而导致无法从google的网站上下载相应的文件,导致gclient runhooks --force出错,为了便于大家研究,上传了已经生成Visual Studio2010解决方案的源码包

下载地址

原文地址:https://www.cnblogs.com/ityujian/p/3257627.html