• 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 "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: 4051, done.
    Receiving objects:  41% (1661/4051), 900.00 KiB | 9.00 KiB/s

     下载完后:

    使用vs的git工具下载:

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

    > python ToolsScriptswebkit-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 ToolsScripts
    > 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:cygwinin )。 该脚本必须逃离 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:cygwinhome<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_MACHINESOFTWAREMicrosoftWindowsWind

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

    3 重新启动

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

    WER_xxxx_.tmp.mdmp
    这是最重要的文件。 里面包含崩溃转储,可以打开Visual Studio调试器或其他窗口。
    WER_xxxx_.tmp.version.txt
    包含操作系统版本和其他硬件的信息。
    WER_xxxx_.tmp.appcompat.txt
    列出所有的dll加载时的崩溃的版本信息。
  • 相关阅读:
    python的struct模块
    Linux程序设计学习笔记(独乐乐版)
    理解AndroidX
    Android中的样式和主题
    Android中Fragment的使用
    Android 中Dialog的使用
    直接在apk中添加资源的研究
    Android签名生成和互转
    简单扒一下Volley源码,扩展Volley生命周期
    获取android所有联系人信息
  • 原文地址:https://www.cnblogs.com/endv/p/8366394.html
Copyright © 2020-2023  润新知