Windows 7, Visual Studio 2015下编译Webkit
因工作需要,需要编译Windows版本的Webkit,中间走了不少弯路,都记录下来,供大家参考!也随时欢迎大家讨论(QQ群:345802342)
整个编译工作参考的是官方文档:https://webkit.org/webkit-on-windows/
1. 主要的时间是下载代码,不需要VPN,我晚上下载的,第二天就好了;这个步骤应该不会有什么问题;
2. 文档上要求的工具我除了下面四个没装,其他的都装了:

3. WebKitAuxiliaryLibrary.zip和WebKitSupportLibrary.zip需要提前下载好,并放到源码根目录:

4. 之后运行perl update-webkit,会同步一些编译所依赖的文件,并添加环境变量:

5. 接下来是最重要,也是问题最多的环节:编译!
a. 错误1:The C compiler "D:/xxxx/VC/bin/cl.exe" is not able to compile a simple test program;

解决方法:可能是因为本机装了多个不同版本的VS的问题;
b. 错误2:no cmake_c_compiler could be found
解决方法:CMake没有设置默认的编译器,需要在CMake中设置;参见步骤6;
c. 错误3:cl.exe 应用程序无法正常启动(0xc000007b)
解决方法:这个是CMake编译的时候,有些文件没找到会报错,直接确认即可;参见步骤6;
d. 错误4:Error in configuration process, project files may be invalid
错误提示:CMake Error at CMakeLists.txt:32 (message): Please choose which WebKit port to build (one of AppleWin;Efl;GTK;JSCOnly;Mac;WPE;WinCairo)
解决方法:设置PORT为AppleWin,再次点击Configure,即可配置成功;

e. 错误5:error MSB6006: "CL.exe" exited with code -1073741701.
解决方法:这个跟步骤4设置的宏(_IsNativeEnvironment=true)有关,因为系统默认以cmake编译Webkit,而不是用VS编译;需要设置为false,如下图:

6. 在步骤5的错误中折腾了半天,也尝试换电脑编译,还是碰到各种问题;所以尝试直接通过CMake配置编译,竟然可以编译成功!!!
a. 设置源码和输出目录,直接替换自己的Webkit目录即可,如下图:

b. 配置VS版本,因为我有多个VS的版本,所以需要配置使用指定的版本,点击Configure,选择你需要的版本即可,我的是VS2015(最新Webkit必须VS2015以上):

c. 点击Configure进行配置,如果有红色标识,需要继续点击Configure,直至没有红色提示,如下图所示:
--> 
7. 点击Generate,就可以在WebKitBuild目录下生产WebKit.sln文件,如下图:

8. 使用VS2015打开WebKit.sln文件,一次性编译通过,接下来就好好琢磨代码啦~

PS:如果大家还遇到其他什么问题,欢迎加群讨论(QQ群:345802342)!
Windows 7, Visual Studio 2015下编译Webkit的更多相关文章
- Visual Studio 2015下编译zmq项目下其他项目踩进的项目引用坑
PS.在之前的一篇文章中介绍了如何用Visual Studio 2015编译zmq,在编译同解决方案中除了libzmq之外的项目例如inproc_thr时会报错误,具如下: Severity Code ...
- Visual Studio 2015 下 编译 libpng
libpng https://github.com/glennrp/libpng zlib https://github.com/madler/zlib/releases https://github ...
- .NET Core 在Visual Studio 2015 下的使用-MSDN
.NET Core RC2 现已推出,这是真正的"候选发布"而非 RC1 Beta 冒充的候选发布(如果是那样,请考虑发布后出现的所有更改).当前,围绕 .NET Core 的开发 ...
- 用Visual Studio 2015成功编译、发布UMDF驱动到目标机!!
开发工具:Visual Studio 2015企业版 主 机:windows10 X64企业版,主机是安装了Visual Studio 2015的操作系统,主要进行驱动开发和调试. 目 标 ...
- visual studio 2015下python编程的中文字符串问题
visual studio 2015强大的编程功能,编写起python来也是非常方便的,但其对中文字符的支持不是很好,经常发生莫名其妙的错误,最常见的错误是不报错,也不执行代码. 代码简单如下: x= ...
- visual studio 2015下使用gcc调试linux c++开发环境搭建完整详解
一直以来,相信绝大部分的开发都是windows/mac下做开发,尤其是非嵌入式和qt系的,而开源服务器程序绝大部分都是跑在Linux下,几乎就没有跑在windows下的.一直以来开发人员都是在wind ...
- ASP.NET 5系列教程 (五):在Visual Studio 2015中使用Grunt、Bower开发Web程序
基于Visual Studio 2015,你可以: 方便的管理前端包,如jQuery, Bootstrap, 或Angular. 自动运行任务,如LESS.JavaScript压缩.JSLint.Ja ...
- win10下Visual Studio 2015,C++ x64编译zlib
前提安装了visual studio 2015 PS.几乎所有方式,x64的编译都会有点坑,鉴于网上的x86编译方式非常的多,所以不再累赘x86的编译方式 zlib下载源: 官网:http: ...
- 用Visual Studio 2015 编译张帆的第一个NT式驱动,并且成功安装到Windows XP里面!!!
开发工具:Visual Studio 2015 企业版 目 标 机:Windows XP X86 前提:我们已经成功安装了Visual Studio 2015以及WDK,而且更重要一点是一定要SDK版 ...
随机推荐
- ACM-ICPC2018焦作网络赛 Participate in E-sports(大数开方)
Participate in E-sports 11.44% 1000ms 65536K Jessie and Justin want to participate in e-sports. E- ...
- Fiddler如何抓取HTTPS协议的网页
Fiddler默认只能抓取HTTP协议的网页,不能抓取HTTPS协议的网页,而我们很多时候,都需要抓HTTPS协议的网页,比如抓淘宝数据等.今天,韦玮老师会为大家讲解如何使用Fiddler抓取HTTP ...
- ue4 碰撞检测测试
记录几条物理相关 测试条件,1使用setActorLocation移动,3使用控制器的移动 1 moveCube 2 targetCube 3 Character 两个Cube的碰撞事件 1和2的 ...
- Node.js 内置模块fs的readdir方法 查看某个文件夹里面包含的文件内容
fs.readdir(path[, options], callback) 例: "use strict"; const fs = require("fs"); ...
- Python-8-print和import进阶
1.打印多个参数 用逗号隔开: >>> print('Age:', 42) Age: 42 参数之间自动插入了一个空格字符 >>> name = 'Gumby' & ...
- G.点我
链接:https://ac.nowcoder.com/acm/contest/903/G 题意: X腿与队友到河北省来参加2019河北省大学生程序设计竞赛,然而这场比赛的题目难度实在是太高了.比赛开始 ...
- 随机算法瞎练BZOJ3237&3563&3569三倍经验题
随机方法真的好骚啊O(∩_∩)O~ 最早的时候miaom提出一个奇怪的东西: 判断一个数列中是否有0/1/2个数出现奇数次 对每个数赋一个随机权值,异或乱搞,对于判2的情况用一个(可能类似线性基的)方 ...
- HTML标签的三种类型
HTML标签的类型分为三种:行内元素,行内块元素,块级元素 而标签的属性是可以转换的 display:inline: 转换为行内元素 display:linline-block 转换为行内块元素 di ...
- Net Core应用,在CentOS上运行
Net Core应用,在CentOS上运行 本文主要介绍下运用docker虚拟技术打包Asp.net core应用. Docker作为一个开源的应用容器引擎,近几年得到广泛的应用,使用Docker我们 ...
- NetCore1.1+Linux
NetCore1.1+Linux部署初体验 1.环境准备 Centaos7+Win10 虚拟机 Win10安装VS2017 https://www.asp.net/downloads注意勾选下.N ...