windows vs2017环境下编译webkit
源码地址:https://github.com/BlzFans/wke
先看官方的说明:
Web和Flash的嵌入式3D游戏,基于WebKit
建筑工作单元
VS2005:
1安装Visual Studio SP1
2安装 Windows SDK
3打开 vs2005/wke.sln 在Visual Studio解决方案文件和生成解决方案。
这可能需要30分钟到1小时。更有可能40分钟。
VS2008:
1安装Visual Studio SP1
2安装Windows SDK 6或更新版本
3打开 vs2008/wke.sln 在Visual Studio解决方案文件和生成解决方案。
这可能需要30分钟到1小时。更有可能40分钟。
运行工作单元
wkebrowser.exe执行可以在 demo/bin/wkeBrowser.exe 发现
常见生成错误:
Cygwin exception::handle: Exception: STATUS_ACCESS_VIOLATION
关闭Visual Studio,然后恢复和重建。这通常解决问题。
源码里的说明


解压源码:复制vs2008文件夹并重命名为vs2017如图:

进入目录【】打开.bat文件,如下,其中调用的几个bat文件依次打开并修改:
@echo off cd libcurl
call build.bat
cd ..\zlib
call build.bat
cd ..\cairo
call build.bat
cd ..\libpng
call build.bat
cd ..\libxml2
call build.bat
cd ..\libxslt
call build.bat
添加 VS140COMNTOOLS 如 红色部分

if exist "%VS80COMNTOOLS%vsvars32.bat" (
call "%VS80COMNTOOLS%vsvars32.bat"
3 ) else if exist "%VS90COMNTOOLS%vsvars32.bat" (
4 call "%VS90COMNTOOLS%vsvars32.bat"
5 ) else if exist "%VS140COMNTOOLS%vsvars32.bat" (
6 call "%VS140COMNTOOLS%vsvars32.bat"
7 ) else (
8 exit
9 )
可以通过系统变量查看值为 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\ 的变量名为 VS140COMNTOOLS 即vs的工具路径。


1、解压cygwin到C盘下(建议放在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浏览器的默认安装路径改变的原因

8、按F7,可以顺利编译完成。
windows vs2017环境下编译webkit的更多相关文章
- windows vs2017环境下编译webkit 2
WebKit在Windows上 内容 安装开发工具 设置Git存储库 设置支持工具 构建WebKit 安装Cygwin(可选) 得到一个崩溃日志 本指南提供了用于构建WebKit的指令在Windows ...
- Windows+VS2012环境下编译调试MySQL源码 转
http://m.blog.csdn.net/blog/SnowyWolf/18952643
- qt5.11.2+vs2017环境下opencv3.4.1编译配置
OpenCV是一个开源的计算机库,它可以帮助视觉工作者做很多富有创造性的工作,在图像处理领域扮演着重要的角色.由于opencv3.x的存在,不管你是学生还是研究人员,是专家还是初学者,都可以快速的建立 ...
- Windows XP环境下 搭建Android NDK环境
搭建Android NDK环境 Windows XP环境下 1 一些下载 ① NDK r7:http://developer.android.com/sdk/ndk/index.html ② cygw ...
- Windows 10 x64 下编译 Hadoop 源码
Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中 ...
- libCURL开源库在VS2010环境下编译安装,配置详解
libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...
- Redhat环境下编译安装Google Bazel
Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...
- 在SoCEDS环境下编译和更新preloader和uboot程序的方法
在SoCEDS环境下编译和更新preloader和uboot程序的方法 前面有介绍preloader在HPS boot过程中的的作用,接下来讲述下用户在SoCEDS环境下改如何编译preloade ...
- WP8_(windows phone环境下)上传文件从C#到php接口
在windows phone环境下,将手机上的图片上传到服务端(php环境): 注意事项:在上传的地方,头文件中name,例如name= img,则在php服务端处理时 ,需要约定好 存取一致 php ...
随机推荐
- Unity3D实践系列07,组件的启用或禁用开关,物体的的可见或不可见开关,以及相应事件
创建一个Unity项目. 在"Project"窗口中,在"Asserts"中,添加"_MyScene"文件夹. 点击"File&q ...
- Net Framework 2.0 MSI returned error code 1603解决方法
出现这种情况的原因,主要是用ghost做的系统,有很多系统中把ie给绑架了.下面的截图就是ghost做的系统中注册表的显示,通过上面的方法就可以解决这种Microsoft .NET Framework ...
- Quartz.NET简介
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.Quartz可以用来创建简单或为运行十个,百个, ...
- iReport使用方法
新建报表,依次单击“文件/New…”,弹出窗口 选择”Blank A4”,单击”Open this Template” 依次单击“下一步/完成”,得到一个新的report 单击”OK”按钮完成数据集设 ...
- Java编解码分析
一.为什么要编解码? 网络或磁盘传输的单位都是字节,平常我们使用的单位都是字符,所以数据需要在字节和字符之间进行转换. 二.编解码概念 1.编码:字符转换成字节 2.解码:字节转换成字符 三.常用字符 ...
- 从Oracle迁移到MySQL的各种坑及自救方案
当企业内部使用的数据库种类繁杂时,或者有需求更换数据库种类时,都可能会做很多数据迁移的工作.有些迁移很简单,有些迁移可能就会很复杂,大家有没有考虑过为了顺利完成复杂的数据库迁移任务,都需要考虑并解决哪 ...
- springMVC helloworld入门
一.SpringMVC概述与基本原理 spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦 ...
- Fiddler抓包12-AutoResponder返回本地数据(mock)
前言 mock可以说是面试必问的话题的,我第一次接触mock的时候也是一脸懵逼.虽然fiddler工具用了很久,里面的打断点,设置自动返回数据功能都用过. mock说的通俗一点就是模拟返回数据,只是面 ...
- Android源码中final关键字的用法及final,finally,finalize的区别
Android开发的学习流程 final,finally,finalize的区别 Android的发展越来越快,Android开发人员越来越多,当两种情况碰撞,在诸多开发者中跟紧Android步伐脱颖 ...
- 《ASP.NET Web API 2框架揭秘》
<ASP.NET Web API 2框架揭秘> 基本信息 作者: 蒋金楠 出版社:电子工业出版社 ISBN:9787121235368 上架时间:2014-7-5 出版日期:2014 年7 ...