zoukankan      html  css  js  c++  java
  • 使用VS2013编译webkit

    环境:

    win7_x64、VS2013

    开始:

    一、下载webkit

    从网站"https://github.com/WebKit/webkit"下载webkit,我下载的版本最后的修改记录时间为2015-6-17,解压到目录,例如"D:/webkit-master"

    二、安装cygwin

    默认安装在系统目录,因为编译webkit时会从系统目录查找cygwin,如果没有安装在操作系统目录,则需要将cygwinlib加入环境变量path中,然后将项目中的%SystemDrive%cygwinin删如果你在安装cygwin之前独立安装了python、请先将python卸载,由于最新版本的webkit使用python一些比较新的库,所以对python的版本也会有要求,建议2.7.0以上版本;打开cygwinlib uby2.2.0目录,新建空白文件rubygems.rb,否则运行ruby,会提示找不到文件,在cygwin命令提示符窗口下运行以下命令,可以测试安装情况

    which perl
    which python
    which ruby

    三、安装webkit依赖库

    1. DirectX SDK下载,并安装2. 下载Safari,并安装3. 下载WebKitAuxiliaryLibrary.zip和WebKitSupportLibrary.zip,将win目录解压到“D:/webkit-master/WebKitLibraries/win"目录

    四、设置环境变量

    1. WEBKIT_DIR D:/webkit-master2. WEBKITLIBRARIESDIR %WEBKIT_DIR%/WebkitLibraries/win3. WEBKITOUTPUTDIR %WEBKIT_DIR%/build4. Path D:cygwinin;设置完毕后,最好重启系统(有可能我们设置的环境变量没有及时生效)。

    五、更新文件更新时间

    更新create_regex_tables、Keywords.table文件更新时间,打开create_regex_tables和更新create_regex_tables、Keywords.table文件,删除一个字符后再添加该字符,然后保存即可修改更新时间,在WebKit项目中,部分.h、.cpp和.idl文件是由.in、.table、.json、.css等文件生成的,如果这些文件的更新时间早于这些.h、.cpp文件,可能不会重新生成文件,会出现一些变量定义没有找到的错误(例如maxTokenLength等等)。

    六、编译webkit

    1. 编译"WTF Projects"项目

    1. 编译"WTFGenerated"工程

    由于我的cygwin不是安装在系统目录下,所有要做一些修改,如果你将cygwin安装在系统目录则不需删除"%SystemDrive%cygwinin",打开”属性“"NMAKE",将%SystemDrive%cygwininwhich.exe修改为which.exe(我在前面将cygwinin目录添加到了path中,可以which.exe直接访问),开始编译。

    2. 编译工程WTF工程:

    在编译工程前,我们需要修改

    #ifndef U_DISABLE_RENAMING
    #define U_DISABLE_RENAMING 1
    #endif
    修改为
    #ifndef U_DISABLE_RENAMING
    #define U_DISABLE_RENAMING 0
    #endif

    2. 编译“JavaScriptCore Projects”项目

    1、编译"LLIntOffsetsExtractor"工程-> LLIntOffsetsExtractor.exe

    2、编译"LLIntAssembly"工程->LLIntAssembly.h

    打开“属性“"NMAKE",将%SystemDrive%cygwininwhich.exe修改为which.exe,理由上面以说明

    3、编译"LLIntDesiredOffsets"工程->LLIntDesiredOffsets.h

    4、编译"JavaScriptCoreGenerated"工程

    5、编译"JavaScriptCore"工程

    3、编译”WebCore Projects“项目

    1、编译"WebCoreGenerated"工程

    打开“属性“"NMAKE",将%SystemDrive%cygwininwhich.exe修改为which.exe,理由上面以说明

    2、编译”WebCore“工程

    错误:..platformLocalizedStrings.cpp(250): error C2001: 常量中有换行符,将"Look Up “%@”"替换为"Look Up "%@""

    4、编译"WebKit Projects"项目

    1、编译"Interfaces"工程

    打开"InterfacesPreBuild.cmd"和"InterfacesPostBuild.cmd"文件,删除"%SystemDrive%cygwinin",删除WebKitBuildDebuguildfailed文件

    2、编译"WebKit"工程

    5、编译”WinLauncher Projects“项目

    1、编译”WinLauncherLib“工程

    打开”WinLauncherLibPreBuild.cmd“文件,删除"%SystemDrive%cygwinin"

    2、编译"WinLauncher"工程

    打开”WinLauncherPreBuild.cmd“文件,删除"%SystemDrive%cygwinin";打开"DLLLauncherMain.cpp"文件,修改appleApplicationSupportDirectory函数为

    static wstring appleApplicationSupportDirectory()
    {
    	// 表示从当前可执行文件目录查找依赖的Safari的dll
    	return L"./";
    }
      

    七、调试webkit

    将SafariApple Application Support下的一些dll拷贝到WinLauncher.exe目录下,运行WinLauncher.exe。

    -->

  • 相关阅读:
    Atitit 经济学常见的流派 古典主义与凯恩斯主义
    Atitit 学习方法 体系化学习方法 Excel 科目,分类,专业 三级分类。。 知识点。。 课程就是每一个知识点的详细化。。 比如经济学 类别 专业 xx概论知识点 3、金
    atiitt it学科体系化 体系树与知识点概念大总结.xlsx
    Atitit 减少财政支出普通人如何蹭政府补贴措施 attilax大总结.docx
    Atitit 信用管理概论 attilax学习心得
    Atitit.月度计划日程表 每月流程表v5
    Atitit 企业6大职能 attilax总结
    Atitit 常见每日流程日程日常工作.docx v8 ver ampm imp 签到 am y 天气情况检查 am y 晨会,每天或者隔天 am 每日计划(项目计划,日计划等。 am
    Atitit 财政赤字解决方案
    Atitit 建设自己的财政体系 attilax总结 1.1. 收入理论 2 1.2. 收入分类 2 1.3. 2 1.4. 非货币收入 2 1.5. 2 1.6. 降低期望 2 1.7.
  • 原文地址:https://www.cnblogs.com/dongc/p/4606207.html
Copyright © 2011-2022 走看看