Webkit Night Build不能直接支持VS2010,需要自己多做些事情。和VS2005不同的是有一些工程转换上的问题和nullptr的支持的问题。
简单说一下吧,供需要的同学参考。
a. 如果本机已经安装了Python或 Perl,先从Path中移除。因为编译过程会有不少的python脚本要执行,如果是系统下的python可不认识/cygdrive/xxx之类的路径。
b. Cygwin还是从Webkit下载Cygwin-Downloader安装。如果已经安装了,又不想重来,一定要检查一下gperf (一个hash的项目)有没有安装.如果你的CYGWIN不在C盘或系统盘,恭喜你,你要将所有脚本中的SystemDrive改为Cygwin所在的盘符,比如你可以定义一个新的环境变量。
c. 解压Webkit源码后,使用Tools/Scripts/update-webkit和Tools/Scripts/update-webkit-support-library后,运用Tools/Scripts/build-webkit –debug是编译不了的。那是因为MSBUILD配置的问题。
将Tools/Scripts/devenv和Tools/Scripts/webkitdirs.pm中有关VS2005和VS2008定位的代码修改一下,增加VS2010的支持。
d. 安装Safari和QuickTime.安装DirectX SDK (Feb 2010).
e. 使用VS2010打开Webkit.sln,调到Debug模式。因为好多文件的编译有问题,将所有的项目中的”Treat Warnings As Errors”关掉。如果还是有什么文件多一行之类的错误,就打开文件转成UTF-8 with DOM存储一下。
f.将以下两个文件的类型改为”C/C++ Compiler”
Source\WebCore\platform\network\curl\CookieJarCurl.cpp
Source\WebCore\platform\image-decoders\ImageDecoder.cpp
g. 在JavaScriptCore.def中去除一项关于nullptr的输出。
h.为了提速,你还是还设置一下/MP选项加速编译。我前期花了不少时间在等待上,就是没做好设置。详细的步骤参考。
编译成功后,注意最新的Webkit没办法使用先前安装的Safari调试了,而要改成编译出来的MiniBrowser。Webkit官网也有说明。
如果是x64环境,还会遇到Apple Support Directory找不到的问题,网上有解决方法。改下注册表就行了。
这个是我根据题主的方法,再看到别人的教程结合出的,最新2015应该对你们有帮助吧。现在的那个2013貌似已经不适用了,很多cygwin的模块都不全
VS2015 WebKit WebKit-r189384编译
http://cjjjs.cn/paper/xmkf/20151010103054446.aspx