Windows下webkit的编译

本文详细介绍了在Windows操作系统上编译WebKit的步骤,包括安装VS 2005 Team Suite,设置环境变量,安装必备组件如DirectX SDK和QuickTime SDK,执行更新脚本,以及编译和测试WebKit的解决方案。编译成功后,将生成WebKit.dll等相关核心文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1.1        Windows下webkit的编译[1]

建议硬件配置:3G以上内存, CPU 2.4GHz以上

1.      安装VS 2005 team suite, 强烈建议使用英文版, 中文版有2个package安装不上。

英文试用版下载地址: http://download.microsoft.com/download/6/f/5/6f5f7a01-50bb-422d-8742-c099c8896969/En_vs_2005_vsts_180_Trial.img; 中文试用版下载地址:  http://www.microsoft.com/downloads/info.aspx?na=90&p=&SrcDisplayLang=zh-cn&SrcCategoryId=&SrcFamilyId=5677ddc4-5035-401f-95c3-cc6f46f6d8f7&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fb%2fa%2f6%2fba691c56-8833-446c-82fe-cf94b588a622%2fchs_vs_2005_VSTS_180_Trial.img

2.      安装 Microsoft Visual Studio 2005 TeamSuite Service Pack 1. 注意:

英文版VS2005安装VS80sp1-KB926601-X86-ENU.exe

(http://www.microsoft.com/downloads/en/details.aspx?familyid=bb4a75ab-e2d4-4c96-b39d-37baf6b5b1dc&displaylang=en);

中文版安装 VS80sp1-KB926604-X86-CHS.exe

(http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=BB4A75AB-E2D4-4C96-B39D-37BAF6B5B1DC)

3.      如果是Vista 或者Window 7 还需要安装 SP1update for vista。Visual C++ 2005 Express 也是可以编译WebKit的,但是需要单独安装Platform SDK。

4.      安装 vs2005的4个升级包: KB918559/KB935225/KB943969/KB947315,注意: 1)安装顺序 2)升级包的语言须与自己的VS2005版本向匹配。

KB918559(http://archive.msdn.microsoft.com/KB918559/Release/ProjectReleases.aspx?ReleaseId=758)

KB935225(http://archive.msdn.microsoft.com/KB935225/Release/ProjectReleases.aspx?ReleaseId=909)

KB943969(http://archive.msdn.microsoft.com/KB943969/Release/ProjectReleases.aspx?ReleaseId=750)

KB947315(http://archive.msdn.microsoft.com/KB947315/Release/ProjectReleases.aspx?ReleaseId=872)

5.       下载并安装DirectX SDK, 下载地址:

http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=2c7da5fb-ffbb-4af6-8c66-651cbd28ca15&hash=40NoOmmctvu7uVT8jcCmCKqWgio1Ithuyx786FICwX50yjzkNDJc5Nb%2femI2caOZMqhDCcDdtmPjP9KnvA8x8A%3d%3d

6.       下载quicktime SDK并安装, url: http://developer.apple.com/quicktime/download/,注意: 需要注册一个开发者账号后才能下载,可以注册成最基本的免费账号。

7.       安装cgwin

如果是在公司内网环境,有可能需要设置cgwin的代理: export http_proxy=http://10035629:password@proxynj.zte.com.cn:80

同理,可以设置ftp的代理, ftp_proxy

8.      下载WebKitSupportLibrary.zip, 无需解压缩,直接放到WebKit根目录下,URL: http://developer.apple.com/opensource/internet/webkit_sptlib_agree.html

9.      设置windows环境变量WEBKITLIBRARIESDIR和WEBKITOUTPUTDIR

将WEBKITLIBRARIESDIR设定为  WebKit 源代码目录\WebKitLibraries\win路径; 将WEBKITOUTPUTDIR 设为你打算要存放obj和dll 的输出文件夹,当然这个文件夹所在的分区至少要有4G的剩余空间。

说明: WEBKITOUTPUTDIR可以随便设,如果要保持和其他Build方式的一致性,那么就设置成为%WEBKIT_DIR%\output,这里%WEBKIT_DIR%是Webkit文件夹的绝对路径。WEBKITLIBRARIESDIR必须设置为%WEBKIT_DIR%\WebKitLibraries\win文件夹。

10.  执行更新脚本, 运行WebKit/Tools/Scripts/目录下的update-webkit和update-webkit-support-libs 两个脚本

11.  编译整个解决方案,可以采用以下两种方式中的任意一种即可,建议在VS2005中进行编译。编译之前,还可以通过set-webkit-configuration脚本来设置build-webkit等脚本的默认编译配置项。

a.      运行WebKit/Tools/Scripts/目录下的 ./build-webkit[-debug]脚本

b.      在VS 2005中打开\WebKit-r82856\Source\WebKit\win\WebKit.vcproj\WebKit.sln工程文件,编译整个解决方案。

1)      选择正确的Configuration,也就是Debug和Release。

这个sln默认带有六个编译配置Debug、Debug_all、Debug_Cairo、Release、Debug_Internal、Release_Cairo。用 Release 编译出来的就是用苹果自己的渲染引擎的版本,和Safari 的一致。 用Release_Cairo 编译出来的是支持Cairo渲染引擎的版本,这个版本可以脱离苹果的环境单独跑,但同时也无法放到苹果的Safari 环境中运行。

2)     设置DumpRenderTree, QTMovieWin,WebCore, WebKit, WinLauncher, TestWebKitAPIInjectedBundle, TestWebKitAPI等的项目属性,左侧选择“C/C++”,将右侧的”TreatWarnings As Errors”设置为”No”。

12.  要想监测编译是否成功,可使用WinLauncher.exe 这个应用程序加载WebKit进行测试。

编译成功后,生成的核心文件有:

WebKit.dll, JavaScriptCore.dll, QTMovieWin.dll,InjectedBundle.dll, WebKit.exe, MiniBrowser.exe(D:\webkit\WebKit-r87175\output\Debug\bin)。

 

注意:

1.      如果您机器上安装过Qt,那么检查一下环境变量里面是不是有QTDIR,如有,删了先;如果有这个环境变量,Webkit的build脚本会认为要编译Qt的port。

2.      编译时将在WEBKITOUTPUTDIR目录下生成config.log和previous-autogen-arguments.txt文件,这两个文件分别保存了配置信息和编译参数。

3.      cyngwin的build-webkit脚本会为每个参与编译的工程,生成一个中间的bat文件,然后调用cmd.exe,运行这个bat文件,其中调用的vs2005编译器。从工程的buildlog中,可以看到这些行为。

4.      编译时候如果提示:

link: missing operand after `?t/'    

Project : error PRJ0002 : Error result1 returned from   'C:\cygwin\bin\link.exe'.

则有可能编译时调用的连接器是cygwin而不是VC的, 此时需要将VC++的目录放在cygwin目录之前。在为每个项目生成的*PreBuild.cmd文件中有以下语句对PATH进行设置, 如: set PATH=%SystemDrive%\cygwin\bin;%PATH%。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值