从零开始编译webkit 步步为营铁定成功! 之 WINDOWS 8 X64 ON VS 2010

好多程序员因工作原因,兴趣原因而需要编译WEBKIT进行研究。  经常会有许多朋友过来问我如何编译。 为了方便多的人  今天讲一下如何BUILD出WEBKIT也算为大家做点贡献。

 

先介绍一下自己的BUILD环境。  一台WINDWOS 8 X64位的正版操作系统  一款经过自己精心打造可以BUILD从VC6.0到VS2010的 VS2010编译器。  (关于如何打造这样的编译器请看我的另外一篇文章VS2005 到 VS2010 的使用习惯和注意事项

 

准备工作

 

1.去http://nightly.webkit.org/这里下载最下载我们的主角WebKit-r116410源代码先生.地址为

http://builds.nightly.webkit.org/files/trunk/src/WebKit-r116410.tar.bz2

2.去http://www.webkit.org/building/tools.html下载cygwin-download

3.去http://developer.apple.com/quicktime/download下载QUICKTIME SDK

4.去http://www.microsoft.com/en-us/download/details.aspx?id=10084下载DirectX SDK

5.去http://site.icu-project.org/download 下载 ICU4.6.1

6.去http://www.webkit.org/building/checkout.html 下载WebKitSupportLibrary.zip

 

安装工作

1.解压源代码到D盘的D:\WebKit-r116410下面  复制WebKitSupportLibrary.zip到D:\WebKit-r116410下面 不需要解压

2.解压Cygwin-download到任意位置并执行cygwin-downloader.exe从网上下载大约180多个包。之后通过setup.exe安装并选择以通过本地的方式安装到C盘跟目录下。不要改名!

3.添加本机环境变量WebKitLibrariesDir=D:\WebKit-r116410\WebKit\Libraries\win  和 WebKitOutputDir=D:\WebKit-r136919\WebKitBuild 之后同样操作在添加到用户环境一次必须

4.以管理员身份运行Cygwin并且执行cd D: 回车  cd WebKit-r116410 回车 然后运行 Tools/Scripts/update-webkit 回车之后在运行 Tools/Scripts/update-webkit-support-libs 回车

 

VS2010打开工作

1.用VS2010打开Source\WebKit\win\WebKit.vcproj项目  等等转换完毕 打开每个项目并且修改C C++中的GENERAL下的TREAT WARNINGS AS ERROR = NO  MULTI-PROCESSORCOMPILATION = YES 这个分别是关系警告报错和打开多线程编译 哦对了,不要忘记把平台工作设置成Platform Toolset = v80

2.查找StdLibExtras.h文件并创建StdLibExtras.cpp 内容为

void* operator new(size_t, NotNullTag, void* location)

{

 ASSERT(location);

 return location;

}  

修改StdLibExtras.h为

void* operator new(size_t, NotNullTag, void* location);  并在JavaScriptCore QTMovieWin WebKitLib工程中加入StdLibExtras.cpp文件

-3.找到 WebKitSource\Source\WebCore\platform\network\curl\CookieJarCurl.cpp和 WebKitSource\Source\WebCore\platform\image-decoders\ImageDecoder.cpp,右键打开Properties菜单,选择Configuration Properties>General,修改Item Tyep为C/C++ compiler  (默认不需要设置,部分版本需要。)

4打开WebKitSource\Source\WebCore\platform\graphics\cg\目录下的ImageSourceCG.h、WebKitSource\Source\WebCore\platform\network\cf\目录下的SocketStreamHandle.h和SocketStreamError.h三个头文件,在#define xxx_h(以ImageSourceCG.h为例xxx_h就是ImageSourceCG_h)这行后面添加:#ifndef ExportMacros_h

#include "config.h"

#endif 

5.在TestWebKitAPI工程的config.h(WebKitSource\Tools\TestWebKitAPI\config.h)首部添加:#define _ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH

6.从ICU4.0中找到LIB文件icuin.lib 和 icuuc.lib 复制到 WebKitLibraries\win\lib 下为  libicuin.lib 和 libicuuc.lib  并替换掉旧网站

7.在项目中搜索Look Up context menu item with selected word关键字,会找到两处!里面有全解引号。改为半解引号即可。

8.搜Asseritons.h 并加入#include <wtf\ExportMacros.h>  [第一遍BUILD之后动态生成在D:\WebKit-r136919\WebKitBuild目录中并报错,找到所有这个文件加入修改在BUILD一次即可]

9.改WebKit.idl 中的#define __TYPELIB_VERSION__ __BUILD_NUMBER_MAJOR__##.##__BUILD_NUMBER_MINOR__ 为#define __TYPELIB_VERSION__ 0.1

BUILD开始

0.先编译 WTF

1.在编译 JAVASCRIPTCORE 

2.在编译 WebCore

3.在编译 WebKit

4.在编译 WinLauncherLauncher

 

只要你们一步一步完全根据我的指导完成之后进行BUILLD保证不会出现一个问题  嘿嘿  如果出错 就查看一下哪里和我说的不一样!!

可以玩了。为了方便大家交流我在此广告一把 。请加入我的群256776188 互联网聊吧  输入WEBKIT申请进入。大家一起来研究。嘿嘿。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值