webkit在win32下的编译规则

本文介绍了Windows环境下编译WebKit遇到的问题及解决方法,深入探讨了WebKit的编译规则,包括Makefile、CMakeLists.txt、WebKit.pro等文件的作用。文章强调了Windows makefile的不稳定性,并分享了如何解决SVGAnimationElement.cpp等文件的编译问题。此外,还讨论了WebKit的目录结构,JavaScriptCore、WebCore和WebKit三大部分的功能,以及WebKitTools和WebKitLibraries目录的相关作用。最后,文章详细阐述了使用build-webkit脚本和Visual Studio进行编译的过程。
摘要由CSDN通过智能技术生成

最近有人在windows 7下的webkit编译不过去,问我该怎么解决。我看了一下,主要是SVGAnimationElement.cpp等文件编译不过去,这里面使用了开启svg后的一些枚举变量,但webkit在编译时生成的WebKitBuild/include/WebCore/CSSPropertyNames.h文件里面并没有生成这些枚举变量,我检查一些编译选项,配置都是OK的,我又看了一下webkit的编译规则,发现CSSPropertyNames.h的生成是依赖CSSPropertyNames.in等文件。解决方法也简单:将CSSPropertyNames.in等文件里面加上一行后再删除,再编译就OK了。为什么这样就可以了呢?愿意是windows下的makefile的编译依赖并不像linux下那么可靠,有时候windows版的makefile工具在编译出错了也更新了文件的修改时间,导致下次makefile再检查时认为文件没改变,从而跳过去了,上面所说的CSSPropertyNames.in就是这种情况。前面我的blog里面也写了一下webki编译方面的文章,网上也有一些类似的文章,也有很多网友在webkit编译不过时发帖询问,所以我觉得很多人对webkit是如何编译的并不是太清楚,导致编译出错了不知道原因,自然也不知道如何去解决这个问题。久而久之,越来越多的人就会发现编译webkit都是一个问题,更不用说去研究webkit了。为了帮助这些人克服对webkit编译的恐惧,我这几天详细看了一下webkit在windows下的编译规则,写也这篇类似于总结的文章。

1. 目录划分

在webkit源码的根目录下,有Makefile,CMakeLists.txt,android.mk,WebKit.pro等文件与编译有关,其中makefile主要用于linux环境下,windows上虽然用了cygwin,却并没有使用这个makefile去编译;CMakeLists.txt主要是用于cmake环境下,这是一个跨平台的编译环境,但我发现在windows下使用cmake编译的人并不多,这可能主要是因为webkit官网介绍的主要是cgywin+vs的编译方式导致的;WebKit.pro是qt环境下的编译规则,qt自己定了一套编译规则,做了一个类似于makefile的工具qmake,是跨平台的,但是得下一套qt的编译环境或sdk,所以这个也主要是qt的人在维护,不过qt版的webkit发展还是不错的;android.mk是android下webkit的编译规则。这篇文件要介绍的windows编译规则在根目录并没有包含,而是在下面的子目录下实现的,原因可能是这套规则(cygwin+vs)只适合于windows平台,不是一个common的东西,所以不能放在根目录下,cygwin+vs这套环境主要是apple的人在维护,safari的windows版本应该也是使用这套环境编译出来的。顺便提一下,chrome下的编译规则后缀是gypi,例如webcore目录下的WebCore.gypi文件。

 image

webkit主要由3部

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值