windows vs2017环境下编译webkit 2

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 "[email protected]"

下载一个克隆存储库。

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

(可选:如果你打算与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加载时的崩溃的版本信息。

原文地址:https://www.cnblogs.com/endv/p/8366394.html

时间: 2024-10-15 06:11:08

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

在虚拟机linux环境下编译windows版adb fastboot

原文出自:http://blog.chinaunix.net/uid-20546441-id-1746200.html 我根据虚拟机编译遇到的问题进行一些添加 [前提条件] Linux Android源码完整 虚拟机磁盘空间100G左右(60G用来存放代码和编译后的文件) swap 30G左右,若太小会导致在编译后提示缺失文件 [具体步骤] 理论上,只要下一个windows版本的SDK,里面就自带了fastboot和adb工具. 但我最近确实遇到了一个需要在linux下编译出windows版本的

Windows XP环境下 搭建Android NDK环境

搭建Android NDK环境 Windows XP环境下 1 一些下载 ① NDK r7:http://developer.android.com/sdk/ndk/index.html ② cygwin:http://www.cygwin.com/  (1.7.11-1)③ notepad++:http://notepad-plus-plus.org/download/v5.9.8.html 2 cygwin安装 ① 执行下载的setup.exe.点Next② 选择安装方式.选择在线安装.假设

【甘道夫】Win7x64环境下编译Apache Hadoop2.2.0的Eclipse插件

目标: 编译Apache Hadoop2.2.0在win7x64环境下的Eclipse插件 环境: win7x64家庭普通版 eclipse-jee-kepler-SR1-win32-x86_64.zip Apache Ant(TM) version 1.8.4 compiled on May 22 2012 java version "1.7.0_45" 参考文章: http://kangfoo.u.qiniudn.com/article/2013/12/build-hadoop2x

Mac OS X 下编译webkit全过程

系统信息:Mac OS 10.9.4 环境:Xcode 5.1 请给予足够的耐心,等待源码下载.排除路径问题.编译等一系列漫长的时间. 下载源码: 以下下载地址均来自:webkit官方网站 www. webkit.org 1. 你可以去http://nightly.webkit.org/下载source文件 (此时名为WebKit r172372,约35.6M,随更新可能会有所变化) 2. 你可以在浏览器中打开以网址即可开始下载源码压缩包 (此时为1G左右,好像是多了一些debug的文件) ht

移植 libuv 到 Visual C++ 6.0 并支持在 Windows XP 系统下编译

移植版的 libuv:https://github.com/liigo/libuv-vc6 (支持VC6和XP,作者Liigo). 我从一年前(大概2013年6,7月份)开始在业余时间做这项移植工作,走走停停,陆续用了一两个月的时间,才基本完成.这期间做了详细的移植记录,现在发布出来,希望对某些人有用.就在昨天(2014年7月12日),我又把移植的代码同步到最新的libuv(https://github.com/joyent/libuv)并发布到Github上:但是之前的移植记录没有变更,或许在

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

libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 CURL开源库VS2010环境下编译安装,配置详解 一 准备 1.1 CURL官网下载地址:http://curl.haxx.se/download.html 1.2 找到源码包,我这里下载的是7.32.0版:http://curl.haxx.se/download/curl-7.32.0.zip 二 步骤 2.1 打开curl-7.32.0\

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

在SoCEDS环境下编译和更新preloader和uboot程序的方法 前面有介绍preloader在HPS boot过程中的的作用,接下来讲述下用户在SoCEDS环境下改如何编译preloader和uboot程序!以及如何去更新BOOT SD卡中的preloader和uboot! 从Terasic网站下下载的SD image是在13.1环境下编译出来的preloader和u-boot,这里会在14.0环境下重新编译并更新到SD卡中!并在inux系统下更新preloader和u-boot到SD卡

在linux环境下编译运行OpenCV程序的两种方法

原来以为在Ubuntu下安装好了OpenCV之后,自己写个简单的程序应该很容易吧,但是呢,就是为了编译一个简单的显示图片的程序我都快被弄崩溃了. 在谷歌和上StackOverFlow查看相关问题解答之后,我下面就介绍Command Line和CMake两种方式. 首先我先粘上我测试的代码吧,文件名为Test.c 1 #include <highgui.h> 2 3 int main(int argc,char ** argv) { 4 5 IplImage* img = cvLoadImage

Windows PHP 环境下 Redis开发环境搭建

1.redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hashs(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redi