最新版 WebKit for windows 编译方法 (2016)

最新版的编译方法鲜有介绍,在网上搜了些编译方法,多数已经很老了,自己尝试了一些,不太可靠,多数问题还是需要自已琢磨

后续还会上传一些测试和使用方法,敬请关注

源码:

https://nightly.webkit.org/builds/trunk/src/1


版本问题:不建议用vs2012及以下版本了,源码太老,新的html5支持不敢保证

VS2013所支持的最高版本是WebKit-r174650 (2014年)

带sln工作区的源码,最后一个版本是r189384, 这些版本编译成功率高

之后版本均用CMake编译,且最低VS2015


关键点还是cygwin的安装:

由于科学上网的问题,WEBKIT官方的方法是利用脚本下载相应的包(下载也很耗时),然后本地安装,事实上还是少了一些包

新建一个文件夹,如:e:\CygwinDownloader

下载 http://cygwin.com/setup-x86.exe 放入目录内

新建文件: setup-for-webkit.bat, 内容如下:
cd /d %~dp0
setup-x86.exe -P bc,bison,curl,diffutils,e2fsprogs,emacs,flex,gcc-g++,gperf,keychain,lighttpd,make,nano,openssh,patch,perl,perl-libwin32,python,rebase,rsync,ruby,subversion,unzip,vim,zip


管理员运行 setup-for-webkit.bat, 则在安装时自动勾选相应的包

一切默认选项(从网络安装), 在选择服务器时,选择中国科技大:mirrors.ustc.edu.cn, 或添加163源http://mirrors.163.com/cygwin/

此时会边下载边安装,安装成功再说;


如少一些包,可以点击setup-x86.exe, 添加相应的包(利用搜索功能):

如 Can't locate Archive/Zip.pm

perl-Archive-Zip

以及其它包: perl-HTTP-date perl-HTTP*, perl-LWP*, openssl相关的包, 报什么错,就加什么包

r189384以上版本就不要安装cmake了, 下载CMake for windows最新版,并添加PATH  https://cmake.org/download/


WebKit-r174650此版本参见下管文章,不出问题的话就可以成功

http://blog.csdn.net/kimmking/article/details/43910121


r174650及以下:

update-webkit-dependency, 去除--sslv3


找到WebKit-r174650\Source\WebCore\platform\LocalizedStrings.cpp文件,去掉250行和252行的字符串内的双引号。(把双引号(中文)改为\"

找到:Tools/WinLancher/stdafx.h, 在ExportMacros.h上面添加一行
#include <wtf/Platform.h>
#include <wtf/ExportMacros.h>


r189384:

报错:常量中有换行符,则找到相应的文件,改下格式(VS不支持UTF-8编码),如:

Tools\TestWebkitAPI\Tests\WTF\WTFString.cpp 保存为ANSI/unicode格式(用notpad++,有个转换选项)


Safari已经不再支持Windows了,因此Support Libraries 要安装 itunes,在官方下载最新版的(32位必须是32位系统才有链接,此时可以在度娘下载)

下载完后,无需安装,可以直接解压iTunes_12.5.4.42_Setup.exe, 找到AppleApplicationSupport.msi 并安装,此时会添加注册表项


此文主要针对最新版而言,当前最新版是 r209749 (2016-12), 也就是2017年了

新版或也有以上问题,请先检查并修改

找到问题根源后,事实编译起来还是很顺利的;

E:\webkit\WebKit-r209749\Source\WebCore\platform\LocalizedStrings.cpp(252): error C2001: 常量中有换行符 

这个几乎是每个版本都有的,有熟悉SNV的可以向总部提交这个BUG, (修改引号内的引号,大概在250行):


    return formatLocalizedString(WEB_UI_STRING("Look Up \"%@\"", "Look Up context menu item with selected word"), selectedCFString.get());
#else
    return WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", 
}


注意一定要安装CMake For Windows版(当前是3.71),并禁用cygwin的cmake(当前最新版为3.6,不满足要求, 可以临时改名, c:\cygwin\bin\cmake.exe)

安装后添加Path,比如我安装在D盘则设置环境变量PATH,添加: D:\Program Files (x86)\CMake\bin, 如果这个搞不定的话,那您就不是一个合格的程序员


环境变量其实不用设置, 在运行./update-webkit 是会自动添加(运行后,重新运行vcvarsall.bat,并进入cygwin)

cygwin 要安装libicu, icu-devel之类的(看编译出错提示,少什么包装什么包)

安装之前建议阅读完r174650版本的安装,以及之后版本遇到的所有问题,相信不是问题

DXSDK可以安装到D盘, QuickTimeSDK直接在官方下载,地址是Download - Apple Developer 安装在C盘


编译完后,提示:


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值