打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

好多程序员因工作原因,兴趣原因而需要编译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申请进入。大家一起来研究。嘿嘿。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
webkit在win32下的编译规则
hursing
msvc2013编译qt5.6源码
windows 7下mingw+msys编译ffmpeg
WebKit编译小结
使用Visual Studio 2010编译WebKit
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服