WebKit windows 平台编译

本文详细介绍了在Windows XP SP3系统上,使用VS 2005 SP2编译WebKit的完整步骤,包括安装必备软件、设置环境变量、解决编译问题以及调试方法。通过编译,你可以得到WebKit.dll、JavaScriptCore.dll等核心文件,以便在MiniBrowser中运行和调试。
摘要由CSDN通过智能技术生成
系统环境:windows xp sp3
编译环境:VS 2005 sp2
所需Sdk: DXSDK_Feb10.exe , QuickTime sdk,vs 2005补丁

遵照 http://www.webkit.org/ 里安装所需环境
1、我电脑安装过VS 2008,所以先把它给卸载了,卸载之后清理一下,然后安装VS 2005,我只用C++,所以像J++,vb神马的都不安装,安装完毕之后照着上述网址中的Installing the Developer Tools一节升级,VS 2005安装在系统盘,我的是C盘,也就是C:\Program Files\Microsoft Visual Studio 8中,里面说也可以安装Visual C++ Express 2005,这个的我没用过,就不提它了。
2、安装上面提到的补丁,安装directx,安装quicktime sdk,安装默认目录中,在vs 2005中设置头文件,lib文件。
3、安装cgywin,用于在windows上模拟linux的环境,用上述网站提供的cygwin-downloader.zip下载完之后解压,运行,然后等,等着它把编译需要的程序都下载下来,然后安装,安装时选择本地安装,然后把本地安装目录设置到刚下载的那一百多个程序的目录上,这样wgywin会将这些程序安装后在桌面上生成一个图标(安装在C:\cgywin中)。
4、下载WebKit Support Libraries,然后放在你下载的WebKit源代码目录中,不用解压(webkit源码可以自己下,不用非要用svn去下载,下完之后解压,我放在D:\WebKit_inuse\WebKit\中,所以你的WebKit Support Libraries 这个也放在里面,顶层,也就是D:\WebKit_inuse\WebKit\WebKit Support Libraries.zip)。
到此环境基本上就搭建完毕了。
5、点击桌面上的cygwin,进入,一路cd 进入到你的WebKit\Tools\Scripts\中,里面有很多文件,执行./update-webkit它会自动将刚才下载的WebKit Support Libraries.zip解压然后放到需要的盘中,也就是\WebKit\WebKitLibraries中,这个路径等会需要设置环境变量。这条script执行完之后执行update-webkit-support-libs,等待成功,如果不成功再次执行。
6、设置环境变量,PATH=C:/cygwin/bin:C:/cygwin/sbin:C:/cygwin/usr/bin:C:/cygwin/usr/sbin:C:/cygwin/usr/local/bin:C:/cygwin/usr/local/sbin:D:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;D:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;D:\Program Files\Microsoft Visual Studio\Common\Tools;D:\Program Files\Microsoft Visual Studio\VC98\bin 我是加了这么多,需要先wgywin中的先走,这样的话如果你以前装过像perl的东西的话,会先执行wgywin中的,这样会在后来的编译中省很多麻烦。
WEBKITLIBRARIESDI=D\WebKit-r93184\WebKitLibraries\win,这个是你刚update-webkit后向其中添加的很多编译时需要的库,头文件等的目录。
WEBKITOUTPUTDIR=这个就随便了,你编译之后存放头文件,lib文件,中间文件的目录(我编译的debug版本用了1。5个G,所以大一点儿比较好)。
7、设置完之后用vs 2005打开WebKit\Source\WebKit\win\WebKit.vcproj\WebKit.sln,
修改所有项目属性C/C++->常规->将警告视为错误 --- 否,是所有的,意味着你得一个项目一个项目的改,选择debug不是debug-all,编译。
8、编译过程极慢,我在编译过程出现的问题:
 (1)、看过这个之后解决了不少:http://hi.baidu.com/ksoftware/blog/item/75dace1f94750179f724e457.html建议先看看,特别是ERROR # error PRJ0002 : 错误的结果 1 (从“C:\WINDOWS\system32\cmd.exe”返回)
         SOLUTION # 关联错误 无需修正,这个编译了无数回每次都是这个问题,后来看了输出日志才了解是相互关联的lib文件生成失败等等,编译了4天的时间,终于在昨天晚上下班后编译成功一回

9、http://honwsn.itpub.net/post/41648/513933感谢博主,这篇文章的后半部分对我挺有用,我记住了,

编译成功后,生成的核心文件有WebKit.dll,JavaScriptCore.dll,QTMovieWin.dll,InjectedBundle.dll,WebKit.exe,MiniBrowser.exe

如何调试所生成的webkit库呢?

此时我们双击运行MiniBrowser.exe,会提醒说缺少CFNetwork.dll等。

我们下载的是苹果的webkit版本,运行需要依赖于mac平台的一些库和其他一些开源库,如 AVFoundationCF.dll,CFNetwork.dll,CoreAudioToolbox.dll,Foundation.dll,objc.dll,SQLite3.dll,zlib1.dll 等。

所以我们需要下载win32版safari,安装完毕后,将C:/Program Files/Common Files/Apple/Apple Application Support下的所有dll文件除了WebKit.dll和JavaScriptCore.dll(这要用到我们自己编译好的库),到 F:/WebKitsrc/WebKitBuild/Debug/bin目录下。此时MiniBrowser.exe就可以运行了,我们就可以 MiniBrowser.exe为宿主程序调试webkit.dll和JavaScriptCore.dll了,了解页面的DOM树生成,排版和渲染的过程了。当然先要掌握具体的HTML/CSS规范。

10、后面debug跟踪的工作我再慢慢写吧,谁需要编译好的debug版本发我私信吧,我用的版本是WebKit-r93184版的,文件太大,不好编译
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值