在windows7、vs2013环境下编译webkit,本人测试成功

1、解压cygwinC盘下(建议放在C盘更目录下,否则编译期间会有部分文件找不到)

启动命令:C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -

也可以从Cygwin.bat启动(若不是安装在C盘,则启动不了)

【注意】cygwin要用针对webkit的版本才行,这里提供下载地址(绿色版):

  http://pan.baidu.com/s/1bnb4kMz

 

2、安装两个SDK

DXSDK、quicktimesdk(webkit官方要求的)

 

3、安装vs2013(建议用默认路径)

安装vs2013之前,建议先装好ie10

 

4、安装Safari浏览器,因为编译完webkit运行时,需要用Safari的部分dll,目前暂不清楚用了哪些dll,如果没有安装,编译的时候,会提示缺少很多dll

 

5、下载webkit工程文件并做一些设置

a)、在http://nightly.webkit.org/  下载webkit工程文件,30M左右

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

c)、设置五个环境变量

(1)WEBKIT_HOME:D:\WebKit-r164730

(2)WEBKIT_LIBRARIES :%WEBKIT_HOME%\WebKitLibraries\win

(3)WEBKIT_OUTPUTDIR:%WEBKIT_HOME%\WebKitBuild

(4)WEBKITLIBRARIESDIR:%WEBKIT_HOME%\WebKitLibraries\win

(5)WEBKITOUTPUTDIR:%WEBKIT_HOME%\WebKitBuild

d)、打开Cygwin,进入WebKit-r95481\Tools\Scripts文件夹运行三个脚本

(1)  ./update-webkit

(2)  ./ update-webkit-auxiliary-libs

(3)  ./ update-webkit-support-libs

其中(2)是下载安装WebKitAuxiliaryLibrary.zip,(3)是下载安装WebKitSupportLibrary,这个非常重要,如果不运行这个的话,是无法在VS中编译的。除非运行过build-webkit,而这个命令会首先自动运行update-webkit-support-libs。

6、设置编译选项:

a)         用VS打开WebKit/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)      右击WinLauncher,选择“设为启动项目”

7、修改两个文件,在两个图片里面:

(1)、这里,webkit官方的LocalizedString.cpp文件出现出现字符错误

(2)、改这里,是因为Safari浏览器的默认安装路径改变的原因

8F7,可以顺利编译完成。

win7、vs2013编译webkit总结的更多相关文章

  1. Win7 & VS2013 编译 WebKit 总结

      [转载请注明Moon出品: http://blog.csdn.net/lzl124631x] 距离上次编译WebKit(实际日期是2012年10月)已经过去一年多了, 这期间有很多人问我编译相关的 ...

  2. 使用VS2013编译webkit

    环境: win7_x64.VS2013 开始: 一.下载webkit 从网站"https://github.com/WebKit/webkit"下载webkit,我下载的版本最后的 ...

  3. VS2013编译WEBKIT

    0,安装VS2013:DXSDK_Jun10.exe:QuickTimeSDK.exe 1,WebKit-r174650.tar.bz2 以管理员解压(非管理员解压最后几下总是报错) 2,设置环境变量 ...

  4. Win7+VS2013初试Thrift

    win7环境下VS2013编译boost_1_58_0步骤: 官网下载boost_1_58_0(直接下载),解压 cmd窗口cd到boost_1_58_0,执行bootstrap.bat cmd窗口获 ...

  5. cocos2d-x -3.81+win7+vs2013开发环境创建新的项目

    cocos2d-x -3.81+win7+vs2013开发环境创建新的项目 1.准备阶段 (1) vs2013下载及安装 (2)cocos2d-x 3.8.1下载及解压 (3)python下载及安装( ...

  6. VS2013编译google protobuf 出现问题error C3861: “min”:

    问题描述: 今天用vs2013编译protobuf 2.4.1 报错: 错误 3 error C3861: "max": 找不到标识符 f:\google\protobuf\pro ...

  7. Vs2012(Vs2013) 编译 64位 Qt (动态库), 并使用自编译Qt建立工程(悲催经历)。(含遗留问题)

    仅供参考. 体会:我个人此次编译不该使用Vs2013编译Qt. 使用以下程序: Qt : qt-opensource-windows-x86-msvc2012_64_opengl-5.2.1.exe ...

  8. vs2013编译boost1.55.0 32/64位

    在使用vs2013编译boost-1.55.0之前,先要给boost做下修改: boost_1_55_0\boost\intrusive\detail\has_member_function_call ...

  9. VS2013编译python源码

    系统:win10 手头有个python模块,是用C写的,想编译安装就需要让python调用C编译器.直接编译发现使用的是vc9编译,不支持C99标准(两个槽点:为啥VS2008都还不支持C99?手头这 ...

随机推荐

  1. archlinux使用sudo

    Sudo是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等.这样不仅减少了root用户的登陆 和管理时间,同样也提高了安全性. Sudo不是对she ...

  2. HDUOJ-------2844Coins

    Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  3. HDUOJ---Hamming Distance(4712)

    Hamming Distance Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others) ...

  4. Lucene的索引不跨平台

    在windows上使用Lucene生成索引文件,将索引文件复制到Linux服务器上,报错"校验错误,可能是硬件问题". 所以,Lucene的跨平台只是代码跨平台,生成的索引不跨平台 ...

  5. Python中 append 和 extend 的区别

    Python中Lists 的两个方法: append 和 extend : list.append(object) 向列表中添加一个对象object.append 接受一个参数,这个参数可以是任何数据 ...

  6. PHP 大数自动转换为科学计数法

    前段时间碰到一个很头疼的问题,就是大于12位的数字在PHP中,会自动转成科学计数法表 示. 比如 1234567891234 显示为 1.23456789123E+12 , 最后只能在计算出大数之后, ...

  7. LINUX使用DVD光盘或者ISO作为本地YUM源

    先把光盘或 ISO 文件挂载到文件系统: # mkdir /media/iso 挂载光盘: # mount /dev/cdrom /media/iso 或挂载 ISO 文件: mount -o loo ...

  8. OGG_Oracle GoldenGate简介(概念)

    2014-03-01 Created By BaoXinjian

  9. Google Guice之作用域

    默认情况下,Guice获取一个实例时.每次都会返回一个新的对象. 这个行为能够通过scopes进行配置.Scopes同意你复用实例: 应用整个生命周期(@Singleton),会话(@Session) ...

  10. Android开发6——布局中的wrap_content和fill_parent以及match_parent

    一.言简意赅 fill_parent 是让控件宽或者高占全屏 wrap_content是让控件的高或宽仅仅把控件里的内容包裹住而不是全屏 二.分别来看  1 fill_parent 设置一个构件的布局 ...