Windows系统下Chromium/content shell工程的编译

    本文介绍在Windows系统下配置编译Chromium工程的方法。注意,本文编译的是基于gyp构建系统的Chromium工程,对于采用gn构建系统的Chromium工程可能不适用。

一、准备工作:

参考http://dev.chromium.org/developers/how-tos/build-instructions-windows

1、下载vs2013,地址是http://www.visualstudio.com/products/visual-studio-professional-with-msdn-vs

2、安装Windows 8.1 SDK,地址是https://msdn.microsoft.com/en-us/windows/desktop/bg162891.aspx

二、下载depot_tools

下载地址:https://src.chromium.org/svn/trunk/tools/depot_tools.zip


三、配置depot_tools


根据指导文档所述,将depot_tools目录加入到系统Path环境变量中:


并在命令行执行gclient,开始进行编译工具的下载和配置。


四、配置git:

安装Git的方法不在本文描述范围,请参考其它文档。

主要配置username和email信息。

五、下载Chromium源码

1、执行fetch –nohooks chromium

该阶段执行时间将会较长。

2、执行gclient runhooks

上述两步正常结束后源码工程就已生成。

六、编译

1、命令行下设置如下环境变量

set DEPOT_TOOLS_WIN_TOOLCHAIN=0

set GYP_MSVS_VERSION=2013

表示采用的vs版本为2013。

2、生成makefile编译文件

1)首先配置编译类型,两种类型:shared_library(动态编译方式,子工程编译成动态库,最终链接较快,但生成的dll动态库很多,一般用于调试模式)和static_library(静态编译方式,子工程编译生成静态库,最终链接到少量动态库或可执行文件中,最终链接速度较慢,但生成目标文件较少,一般用于release模式)。

set GYP_DEFINES="component=shared_library" 或者set GYP_DEFINES="component=static_library" 

2)设置编译目标工程gyp文件。如果编译chromium,则指定为chrome.gyp;如果编译content shell,则指定为content_shell_and_tests.gyp。

set CHROMIUM_GYP_FILE="chrome/chrome.gyp"或者

set CHROMIUM_GYP_FILE="content/content_shell_and_tests.gyp"

3)执行编译配置命令

python build/gyp_chromium

3、编译

执行命令ninja -C out/Release chrome或者ninja -C out/Release content_shell


如果无错误产生,则最终完成整个工程的编译。如下图生成chrome可执行文件及所依赖的动态库。

七、可能遇到的编译错误

1、

【解决方法】手动生成版本信息文件。


2、

【解决方法】从http://src.chromium.org/svn/trunk/deps/third_party/yasm/binaries/win/下载yasm.exe到目标路径下。

3、

【解决方法】把出错的文件用文本编辑器(如Notepad或者VS IDE)打开,重新保存。

4、

【解决方法】从https://www.microsoft.com/en-us/download/confirmation.aspx?id=44921下载Update 4,安装补丁。

5、

【解决方法】删除out目录,重新编译。可能是由于编译过程中升级VS2013导致的编译生成文件不兼容。

猜你喜欢

转载自blog.csdn.net/weixin_42080566/article/details/80838507