使用VS2013编译webkit

环境:

win7_x6四、VS2013

开始:

1、下载webkit

从网站"https://github.com/WebKit/webkit"下载webkit,我下载的版本最后的修改记录时间为2015-6-17,解压到目录,例如"D:/webkit-master"

2、安装cygwin

下载地址:http://download.csdn.net/detail/dc11223344/8851923,默认安装在系统目录,由于编译webkit时会从系统目录查找cygwin,若是没有安装在操做系统目录,则须要将cygwin\lib加入环境变量path中,而后将项目中的%SystemDrive%\cygwin\bin删若是你在安装cygwin以前独立安装了python、请先将python卸载,因为最新版本的webkit使用python一些比较新的库,因此对python的版本也会有要求,建议2.7.0以上版本;打开cygwin\lib\ruby\2.2.0目录,新建空白文件rubygems.rb,不然运行ruby,会提示找不到文件,在cygwin命令提示符窗口下运行如下命令,能够测试安装状况
which perl
which python
which ruby

3、安装webkit依赖库

1. DirectX SDK下载,并安装 2. 下载Safari,并安装 3. 下载WebKitAuxiliaryLibrary.zip和WebKitSupportLibrary.zip,将win目录解压到“D:/webkit-master/WebKitLibraries/win"目录

4、设置环境变量

1. WEBKIT_DIR D:/webkit-master 2. WEBKITLIBRARIESDIR %WEBKIT_DIR%/WebkitLibraries/win 3. WEBKITOUTPUTDIR %WEBKIT_DIR%/build 4. Path D:\cygwin\bin; 设置完毕后,最好重启系统(有可能咱们设置的环境变量没有及时生效)。

5、更新文件更新时间

更新create_regex_tables、Keywords.table文件更新时间,打开create_regex_tables和更新create_regex_tables、Keywords.table文件,删除一个字符后再添加该字符,而后保存便可修改更新时间,在WebKit项目中,部分.h、.cpp和.idl文件是由.in、.table、.json、.css等文件生成的,若是这些文件的更新时间早于这些.h、.cpp文件,可能不会从新生成文件,会出现一些变量定义没有找到的错误(例如maxTokenLength等等)。

6、编译webkit

1. 编译"WTF Projects"项目

1. 编译"WTFGenerated"工程

因为个人cygwin不是安装在系统目录下,全部要作一些修改,若是你将cygwin安装在系统目录则不需删除"%SystemDrive%\cygwin\bin\",打开”属性“\"NMAKE",将%SystemDrive%\cygwin\bin\which.exe修改成which.exe(我在前面将cygwin\bin目录添加到了path中,能够which.exe直接访问),开始编译。

2. 编译工程WTF工程:

在编译工程前,咱们须要修改
#ifndef U_DISABLE_RENAMING
#define U_DISABLE_RENAMING 1
#endif
修改成
#ifndef U_DISABLE_RENAMING
#define U_DISABLE_RENAMING 0
#endif

2. 编译“JavaScriptCore Projects”项目

一、编译"LLIntOffsetsExtractor"工程-> LLIntOffsetsExtractor.exe

二、编译"LLIntAssembly"工程->LLIntAssembly.h

打开“属性“\"NMAKE",将%SystemDrive%\cygwin\bin\which.exe修改成which.exe,理由上面以说明

三、编译"LLIntDesiredOffsets"工程->LLIntDesiredOffsets.h

四、编译"JavaScriptCoreGenerated"工程

五、编译"JavaScriptCore"工程

三、编译”WebCore Projects“项目

一、编译"WebCoreGenerated"工程

打开“属性“\"NMAKE",将%SystemDrive%\cygwin\bin\which.exe修改成which.exe,理由上面以说明

二、编译”WebCore“工程

错误:..\platform\LocalizedStrings.cpp(250): error C2001: 常量中有换行符,将"Look Up “%@”"替换为"Look Up \"%@\""

四、编译"WebKit Projects"项目

一、编译"Interfaces"工程

打开"InterfacesPreBuild.cmd"和"InterfacesPostBuild.cmd"文件,删除"%SystemDrive%\cygwin\bin\", 删除WebKitBuild\Debug\buildfailed文件

二、编译"WebKit"工程

五、编译”WinLauncher Projects“项目

一、编译”WinLauncherLib“工程

打开”WinLauncherLibPreBuild.cmd“文件,删除"%SystemDrive%\cygwin\bin\"

二、编译"WinLauncher"工程

打开”WinLauncherPreBuild.cmd“文件,删除"%SystemDrive%\cygwin\bin\";打开"DLLLauncherMain.cpp"文件,修改appleApplicationSupportDirectory函数为
static wstring appleApplicationSupportDirectory()
{
	// 表示从当前可执行文件目录查找依赖的Safari的dll
	return L"./";
}
  

7、调试webkit

将Safari\Apple Application Support下的一些dll拷贝到WinLauncher.exe目录下,运行WinLauncher.exe。css

最后说一下编译webkit的体会,第一次编译是wke库,在今年3月份,天天晚上挤出时间,断断续续用了3个星期才成功;第二次编译webkit,是在端午节的时候,用了三天,终于在虚拟机下编译成功,最后结合虚拟机下的经验,因而又在本机编译了一遍,才有了此文。
相关文章
相关标签/搜索