编译webkit r133238

来源:互联网 发布:高嘉瑜 知乎 编辑:程序博客网 时间:2024/05/07 21:01

1、开发环境:

a)        操作系统:Windows XP。

b)       IDE:Microsoft Visual Studio 2005。

c)    WebKit版本号:r133238

 

2、安装开发工具:

    说明:Quicktime SDK ,DirectX SDK,最好安装到C盘默认路径下。否则会因为自定义的路径没有添加到环境变量中而编译错误。(我将cygwin是装在d盘,我不喜欢将东西装在c盘。所以我使用Junction将cygwin映射到c盘(Junction请参考http://blog.csdn.net/chief1985/archive/2009/08/16/4453475.aspx)。如果你将vs2005装在其他盘也可以使用这个方法进行映射。)

a)  安装Microsoft Visual Studio 2005。

b)  安装Microsoft Visual Studio 2005 Team Suite Service Pack 1

        说明:如果vs2005安装的是中文版,该sp1也请选择简体中文版

c)    安装四个补丁:

一、KB918559

           二、KB935225

           三、KB943969

           四、KB947315

说明:如果安装的IDE是中文版,这四个补丁中,不是每一个都有中文版,也就是CHS版,所以上面补丁也就三 和 四两个可以安装。如果是英文版的vs2005,上面4个补丁均需选择英文版的补丁安装。

d)    安装vs2005后,还需装个Cygwin(最好安装在C盘中),Webkit官网提供了一个cygwin-downloader.zip供下载,解压以后,文件夹里面有一个cygwin-downloader.exe,点击运行它会自动下载101个软件包;下载完成后,点击Cygwin的安装程序setup.exe选择从本地文件夹安装,把刚才下载的所有软件都装上即可。When all the packages have finished downloading, the Cygwin installer will launch. ChooseInstall from Local Directory, then clickNext until the install is complete.

e)    最后,您还得去http://developer.apple.com/quicktime/download/下载一个quicktime sdk,需要注册才能下载,必须安装。

f)     Install DirectX SDK

Downloadthe
February 2010 DirectX SDK(newer versions do not support Visual Studio 2005). This is needed foraccelerated compositing.

 

3、获取源代码:

a)        下载一个导出的纯代码的tarball就行了,在http://nightly.webkit.org/ 
第三个下载项 “Source”。20M左右。

b)       下载一个补丁包,WebKit Support Libraries。这个压缩包包含了Apple的几个非开源库的Windowsport。下完后放在Webkit源码解压后的根目录:~/WebKit-r133238/(注意这个补丁包不要解压,build的时候脚本会自己搞定的)。

c)         打开Cygwin,进入WebKit-r133238\Tools\Scripts文件夹运行以下两个脚本

         (1) 先删除环境变量WEBKITOUTPUTDIR,  WEBKITLIBRARIESDIR(如果有的话)。再执行 ./update-webkit ,这个脚本会创建WEBKITOUTPUTDIR,  WEBKITLIBRARIESDIR这两个环境变量

         (2)./build-webkit  (注:如果发现找不到头文件,例如stdint.h,请打开Cygwin运行build-webkit, 你会看到Installing WebKit Support Libraries的提示文字,这时如果不报错,在Cygwin编译也无妨;如果报任何错误,打开vs2005编译吧)

 

4、设置编译选项:

a)        用VS打开Source\WebKit\win\WebKit.vcproj\WebKit.sln,选择正确的Configuration,也就是Debug和Release,选择Debug即可。

b)       选择DumpRenderTree, QTMovieWin, WebCore, WebKit, WinLauncher等所有项目(把c++项目的属性都设置一遍)的项目属性,左侧选择“C/C++”,将右侧的“Treat Warnings As Errors”(“将警告视为错误”)设置为“No”。这个必须设置。否则编译时会报错。

c) 遇见了Source\WebCore\platform\LocalizedStrings.cpp文件的编码错误问题, 需要把LocalizedStrings.cpp 263行改为:return formatLocalizedString(WEB_UI_STRING("Look Up \"%@\"", "Look Up context menu item with selected word"), selectedCFString.get());

  把 LocalizedStrings.cpp 265行改为: return WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));

 

   修改的原因是以下263行包含了:

return formatLocalizedString(WEB_UI_STRING("Look Up “%@”", "Look Up context menu item with selected word"), selectedCFString.get());

  非英文的字符串

 

d)      右击MiniBrowserLauncher,选择“设为启动项目”,然后开始编译,可以顺利编译完成。

 

5、调试和运行:

a)        编译完成后是无法运行MiniBrowserLauncher,会提示缺少很多dll而无法启动。要运行这个程序,需做两件事情。

b)       下载并安装Safari。

c)       将C:/Program Files/CommonFiles/Apple/Apple Application Support文件下面的所有的dll文件(除了QTMovieWin.dll,WebKit.dll和JavaScriptCore.dll)文件复制到可执行程序所在的目录,就可以运行WinLauncher了。QTMovieWin.dll,WebKit.dll和JavaScriptCore.dll这两个文件千万不要拷贝过来,否则,需要重新编译。

 

原创粉丝点击