WebKit在Windows上

内容

本指南提供了用于构建WebKit的指令在Windows 8.1没有Cygwin(AppleWin港口WebKit)。 你可以选择安装Cygwin运行测试。

安装开发工具

首先安装以下程序和设置您的环境:

  1. Visual Studio。 (确保你包括c++支持。) https://www.visualstudio.com/en-us/products/visual-studio-community-vs
  2. ActiveState的Perl。64位很好。 http://www.activestate.com/activeperl/downloads
  3. ActiveState的Python。 确保它的版本2。 而不是3. x。 64位很好。http://www.activestate.com/activepython/downloads确保你不从python.org下载它,因为我们硬编码可执行文件的名称为“python2.7”和python.org python不包括一个可执行的名字。
  4. Ruby。64位很好。 http://rubyinstaller.org/
  5. 野牛。 http://gnuwin32.sourceforge.net/packages/bison.htm确保安装路径没有空间,因为野牛不正确引用路径时通过他们m4。
  6. Gperf。 http://gnuwin32.sourceforge.net/packages/gperf.htm
  7. Flex。 http://gnuwin32.sourceforge.net/packages/flex.htm
  8. CMake。 https://cmake.org/download/
  9. Git。 http://www.git-scm.com/download/win注意:确保您选择的选项“使用Git Windows命令提示符。 “这是因为它安装一个sh.exe在你的路径,如果sh.exe有空间的位置,使被搞糊涂了。 当我安装这个,我不受控制的所有选项。
  10. iTunes。 这只是AppleWin所需的端口,不是WinCairo端口。 http://www.apple.com/itunes/download/这是必要的,因为它包括了。 dll实现苹果CoreGraphics这样的框架,CoreAnimation等等。
  11. “嗯哼”字体,用于测试。 http://www.w3.org/Style/CSS/Test/Fonts/Ahem/
  12. (可选:如果你打算与Subversion补丁)Subversion。 http://sourceforge.net/projects/win32svn/
  13. (可选:加快构建过程)忍者构建。 https://github.com/ninja-build/ninja/releases

确保所有刚才安装的程序(除了Visual Studio和iTunes)是通过你来访问 美元的路径http://www.itechtics.com/customize-windows-environment-variables/你可能需要修改后重新启动 美元的路径 新壳前将更新后的变量。

如果您是在代理,一定要设置 HTTP_PROXY 和 HTTPS_PROXY 环境变量。

设置Git存储库

git告诉你的名字。

> git config --global user.name "John Smith"

告诉git你的电子邮件地址。

> git config --global user.email "johnsmith@example.com"

下载一个克隆存储库。

> git clone <git://git.webkit.org/WebKit.git>
> cd WebKit

git 正确的姿势:

endv@DESKTOP-ILIR8UR MINGW64 ~
$ git clone git://github.com/schacon/grit.git
Cloning into 'grit'...
remote: Counting objects: , done.
Receiving objects: % (/), 900.00 KiB | 9.00 KiB/s

下载完后:

使用vs的git工具下载:

(可选:如果你打算与Subversion补丁) 
自动配置本地克隆遵循Subversion:

> python Tools\Scripts\webkit-patch setup-git-clone

设置支持工具

下载WebKit支持库源代码树的根 https://developer.apple.com/opensource/internet/webkit_sptlib_agree.html如果文件是正确命名,命名WebKitSupportLibrary.zip。 不提取其内容。 这个档案包含一个SDK(仅标题)Windows版本的苹果软件堆栈(比如CoreGraphics)。

此外,您需要下载 https://developer.apple.com/opensource/internet/WebKitAuxiliaryLibrary.zip

> cd Tools\Scripts
> perl update-webkit

如果上面的命令要求您重启你的机器,这样做。

注意,这个命令将自动下载 WebKitAuxiliaryLibrary.zip从苹果和提取到你的树(WebKitLibraries文件夹内)。 这个档案包含的Windows版本的所有公共图书馆WebKit取决于(如libxml2)。 还请注意,该命令可能设置环境变量。

构建WebKit

> perl build-webkit 

注意,这个命令将自动提取WebKitSupportLibrary。 步中下载zip(6)到你的树(WebKitLibraries文件夹内)。

安装Cygwin(可选)

您可以构建与Visual Studio 2015和Visual Studio 2015 Community Edition。

使用默认选项安装。

Cygwin是公用事业为Windows的集合,不仅包括Subversion的客户,但也需要额外的工具来构建

WebKit的来源。 我们取得了一个下载器可以自动收集所有必需的包。

下载 cygwin-downloader.zip。 提取一些文件夹和档案的内容开始 cygwin-downloader.exe 从文件夹中。 这将下载所需的所有Cygwin包。 当所有的包已经完成下载,Cygwin安装程序将会启动。 选择 安装从本地目录 ,然后单击 下一个 直到安装完成。 如果您正在运行Vista,安装程序无法自动启动,你将不得不手动启动Cygwin 安装程序 

注意: 如果您是在您需要设置代理  HTTP_PROXY 环境变量的URL代理。 这可能匹配模式: 
http[s]://[username[:password]@]somehost.com[:port]
。 方括号( […] )不是URL的一部分,但是用来表示可选元素的URL。
 
注意: Vista可能没有警告你,Cygwin安装正确。 忽略这个警告,告诉Vista,安装成功。
警告: 如果您正在运行Vista和Windows 7,Cygwin可能难以实现 叉 (POSIX函数经常用于启动子进程,需要许多的WebKit构建工具)。 为了使 cygwin1.dll 成功实现叉最好是如果没有DLL加载在父进程在运行时重新安置。 达到这一点的方法之一是变基所有 cygwin dll 除外 cyglsa64.dll 和 cygwin1.dll基地地址,让他们不要重叠在内存中。

为了变基所有cygwin dll rebaseall cygwin提供的脚本安装的 本 目录(通常是 C:\cygwin\bin )。 该脚本必须逃离 ash.exe (在相同的目录中),而没有其他应用程序运行cygwin。

ash.exe 命令行编辑功能非常有限所以剪切和粘贴命令行。 
的 路径 环境变量可能不包含的 / bin 目录默认脚本应该推出 /bin/rebaseall 。 
如果 rebaseall 是抱怨未能写入一个Windows临时目录(即 /cygdrive/c/Users/you/AppData/Local/Temp ),修复文件夹的权限(即  /cygdrive/c/Users/you/AppData/Local/Temp )或改变TMP环境变量,使之指向一个目录与适当的许可标志

(例如: export TMP=/tmp )。 注意: 变基过程可能需要重复包含任何新的库后来添加的cygwin清单完整cygwin路径这些库的文件和传递文件 rebaseall 通过  -T fileName 文件名 命令行参数。 下的dll   LayoutTests/http/conf  是一个相关的用例。

删除下面的台词   /home/[username]/.bashrc (if present):  (如果存在):

unset TMP
unset TEMP

会防止捡Windows TMP和临时环境变量。

如果您是在代理需要做以下允许cygwin svn通过代理(类似步骤可供您的Windows svn):

  • 在bash中(Cygwin)运行: svn的帮助 。 这将创建在您的cygwin主目录文件  .subversion/servers服务器
  • 编辑上面提到的文件,按照文件中的指令设置你的代理设置。

安装Perl 
下载Perl 5.18(或更新) activestate.com并安装它。

安装Python 
下载Python 2.7.8 activestate.com并安装它。

安装Ruby 
下载Ruby 2.0.0 rubyinstaller.org并安装它。

安装php 中,我们使用以下步骤(你需要这个运行http布局测试): 
1

cd /usr/local/bin

 
2

wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg

 
3所示

chmod a+x apt-cya

 
4所示。 改变的第341行 apt-cya 脚本

wget -nc $mirror/../$install

5。 安装php

apt-cyg -m ftp://sourceware.org/pub/cygwinports/x86 install php

可选 :64位Windows的热修复补丁(Windows 7或更早)禁用用户模式调滤波器为例外

没有 976038年热修复补丁在回调例程可能抛出异常,不会导致崩溃,但离开应用程序处于不一致的状态,可能会导致崩溃。 你需要点击“视图和请求热修复补丁下载”并填写表单。 下载链接热修复补丁和密码将发邮件给你。

Cygwin的代码

  1. 打开一个Cygwin壳牌在桌面上双击Cygwin图标启动一个新的Shell。
  2. 你可以 下载一个快照WebKit的源代码树。 这是每日更新。

类型这些命令来查看WebKit源树:

tar jxvf WebKit-SVN-source.tar.bz2
cd webkit

注意存档结帐使用一个HTTP连接。 我们建议使用HTTPS而不是运行以下命令:

svn switch --relocate http://svn.webkit.org/repository/webkit/trunk https://svn.webkit.org/repository/webkit/trunk
 

另外,输入这个命令查看WebKit源树:

svn checkout https://svn.webkit.org/repository/webkit/trunk WebKit
  1. 安装WebKit支持库

    下载WebKit支持库源代码树的根( C:\cygwin\home\<username>\WebKit )。

    如果文件是正确命名,重命名它 WebKitSupportLibrary.zip 。 不提取其内容。

  2. 运行  ./Tools/Scripts/update-webkit 脚本更新源代码树。

    如果你下载tarball,这将带来最新的。 Windows用户必须执行该命令后,首先获取代码,因为它会下载额外的库,需要构建。

一旦你有了一个当前的树,是下一步 建筑WebKit

得到一个崩溃日志

Windows错误报告(回答)已经被集成到操作系统。 默认情况下,微软Windows上传崩溃日志,但不保存一个本地副本。 这是通过注册表配置。

1 将以下文本保存到一个文件中命名 wer.reg Windows注册表编辑器5.00版本

Windows Registry Editor Version 5.00 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Wind

2 双击文件从Windows Explorer和肯定地回应任何提示。

3 重新启动

下次旅行(或任何其他应用程序)崩溃,崩溃信息将写入一个文件夹内  %LOCALAPPDATA%\Microsoft\Windows\WER\ReportQueue   检查修改日期,以确保您使用正确的文件。 一定要在错误报告中包含以下文件:

WER_xxxx_.tmp.mdmp
这是最重要的文件。 里面包含崩溃转储,可以打开Visual Studio调试器或其他窗口。
WER_xxxx_.tmp.version.txt
包含操作系统版本和其他硬件的信息。
WER_xxxx_.tmp.appcompat.txt
列出所有的dll加载时的崩溃的版本信息。

windows vs2017环境下编译webkit 2的更多相关文章

  1. windows vs2017环境下编译webkit

    源码地址:https://github.com/BlzFans/wke 先看官方的说明: Web和Flash的嵌入式3D游戏,基于WebKit 建筑工作单元 VS2005: 1安装Visual Stu ...

  2. Windows+VS2012环境下编译调试MySQL源码 转

    http://m.blog.csdn.net/blog/SnowyWolf/18952643

  3. qt5.11.2+vs2017环境下opencv3.4.1编译配置

    OpenCV是一个开源的计算机库,它可以帮助视觉工作者做很多富有创造性的工作,在图像处理领域扮演着重要的角色.由于opencv3.x的存在,不管你是学生还是研究人员,是专家还是初学者,都可以快速的建立 ...

  4. Windows XP环境下 搭建Android NDK环境

    搭建Android NDK环境 Windows XP环境下 1 一些下载 ① NDK r7:http://developer.android.com/sdk/ndk/index.html ② cygw ...

  5. Windows 10 x64 下编译 Hadoop 源码

    Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中 ...

  6. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  7. Redhat环境下编译安装Google Bazel

    Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...

  8. 在SoCEDS环境下编译和更新preloader和uboot程序的方法

    在SoCEDS环境下编译和更新preloader和uboot程序的方法   前面有介绍preloader在HPS boot过程中的的作用,接下来讲述下用户在SoCEDS环境下改如何编译preloade ...

  9. WP8_(windows phone环境下)上传文件从C#到php接口

    在windows phone环境下,将手机上的图片上传到服务端(php环境): 注意事项:在上传的地方,头文件中name,例如name= img,则在php服务端处理时 ,需要约定好 存取一致 php ...

随机推荐

  1. Revit Family API 添加材质参数设置可见性

    start //添加类型 void AddType(FamilyManager familyMgr, string name, double w, double d) {     FamilyType ...

  2. How do I debug a published XBAP file in VS2010?

    I need to debug a full-trust application either by specifying a URL or, ideally, from within the web ...

  3. ASP.NET MVC:模块化/插件式文章汇总

    方案 Shazwazza | Developing a plugin framework in ASP.NET MVC with medium trust 基于ASP.NET MVC3 Razor的模 ...

  4. git服务器的建立——Git折腾小记

    转自:http://blog.csdn.net/xsl1990/article/details/25486211 如果你能看到一些sshd相关的进程信息,则说明你已经有这个服务了,否则(或者你想更新的 ...

  5. Java_集合操作_将元素插入List的指定位置

    package test; import java.util.ArrayList; import java.util.List; public class test { public static v ...

  6. 神奇女侠Wonder Woman迅雷下载

    亚马逊公主戴安娜·普林斯(盖尔·加朵 Gal Gadot 饰),经过在家乡天堂岛的训练,取得上帝赐予的武器 与装备,化身神奇女侠,与空军上尉史蒂夫·特雷弗(克里斯·派恩 Chris Pine 饰)一同 ...

  7. information_schema系列六(索引,表空间,权限,约束相关表)

    information_schema系列六(索引,表空间,权限,约束相关表) 1: STATISTICS 这个表提供的是关于表的索引信息:   INFORMATION_SCHEMA Name SHOW ...

  8. Restful API 的设计规范(转)

    1. URI URI 表示资源,资源一般对应服务器端领域模型中的实体类.URI规范 不用大写; 用中杠-而不用下杠_; 参数列表要encode; URI中的名词表示资源集合,使用复数形式; 资源集合与 ...

  9. Cannot create container for service peer1.org2.example.com: Conflict. 解决方案

    I have a docker-compose.yaml file defining 5 services: orderer.example.com peer0.org1.example.com pe ...

  10. SSI(Server Side Include)简单介绍

    Server-side include(server端包含) Server-side include(server端包含)是浏览器向server请求您的文档时并入您的文档的一个文件. 当訪问者浏览器请 ...