首先,如果按照WebKit官网上步骤是可以编过去的,但是要求VS2005默认装在C:\Program Files,cygwin默认装在C:\,QuickTimeSDK默认装在C:\Program Files

如果选择安装在其他地方,同志们,苦日子就来了。。。

1. 安装VS2005英文版

2. Install Microsoft Visual Studio 2005 Team Suite Service Pack 1.

3. Install Visual Studio 2005 Service Pack 1 ATL Security Update.

4. Install the following hotfixes to improve Visual Studio's performance and responsiveness:

  1. KB918559
  2. KB935225
  3. KB943969
  4. KB947315

5. 安装cygwin

到cygwin官网下载setup.exe

下载Packages

"Download Without Installing" -> "Direct Connection" ->

-> 一般选择http://mirrors.163.com镜像 ,勾选Devel和Libs "Install"

-> 但是curl这个包需要ftp://mirrors.xmission.com ,勾选Net->curl "Install"

-> "Install from Local Directory"

6. Install QuickTime SDK

7.Install DirectX SDK  February 2010 DirectX SDK  (随意选择安装位置,它会自动创建系统变量DXSDK_DIR)

fatal error C1083: Cannot open include file: 'd3d9.h': No such file or directory

8. 取WebKit代码Nightly Build , 放到home目录 : webkit使用svn下载后差不多有1G多,这里面的大部分代码是测试代码,由于网速慢加上现在不需要这些测试代码,使用Nightly Builds,下载后只有十几兆。

9. 下载WebKit Support Libraries , 放到WebKit根目录

10. 运行Tools/Scripts/update-webkit ,会下载一些头文件和库(到WebKitLibraries/win),并自动创建以下两个系统变量

WEBKITLIBRARIESDIR = E:\Program Files\cygwin\home\chenhao\WebKit-r135516\WebKitLibraries\win

WEBKITOUTPUTDIR = E:\Program Files\cygwin\home\chenhao\WebKit-r135516\WebKitBuild

11. 修改VS2005路径, Tools/Scripts/webkitdirs.pm

#$vsInstallDir = File::Spec->catdir($programFilesPath, "Microsoft Visual Studio 8");
         $vsInstallDir = File::Spec->catdir("E:\\Program Files", "Microsoft Visual Studio 8");

12. 修改QuickTime SDK路径, Source/WebCore/WebCore.vcproj/QTMovieWinCommon.vsprops

"VCCLCompilerTool"

$(ProgramFiles)/QuickTime SDK/cincludes

E:\Program Files/QuickTime SDK/cincludes

fatal error C1083: Cannot open include file: 'CFData.h': No such file or directory

"VCLinkerTool"

$(ProgramFiles)\QuickTime SDK\Libraries

E:\Program Files\QuickTime SDK\Libraries

fatal error LNK1104: cannot open file 'QTMLClient.lib'

13. 运行Tools/Scripts/build-webkit ,它会动态生成一些代码(stdint.h和stdbool.h等到WebKitLibraries/win)

build-webkit --debug    或者    build-webkit --release

fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory

14. 使用VS2005打开 Source/WebKit/win/WebKit.vcproj/WebKit.sln

15. 将所有工程 Configuration->"Debug"

16. 所有C/C++工程 Treat Warnings As Errors 设为"No"

error C2220: warning treated as error - no 'object' file generated

17.修改cygwin路径

(1)所有非C/C++工程Configuration->NMake->Build Command Line,Rebuild All Command Line和Clean Command Line

set PATH=%SystemDrive%\cygwin\bin;%PATH%

set PATH=E:\Program Files\cygwin\bin;%PATH%

fatal error U1077: 'touch' : return code '0x1'  (cygwin路径不对, .make文件找不到touch命令。)

(2)部分C/C++工程的PreBuild.cmd

Interfaces工程 Source\WebKit\win\WebKit.vcproj\InterfacesPreBuild.cmd

set PATH=%SystemDrive%\cygwin\bin;%PATH%

set PATH=E:\Program Files\cygwin\bin;%PATH%

WebKitLib工程 Source\WebKit\win\WebKit.vcproj\WebKitLibPreBuild.cmd

set PATH=%SystemDrive%\cygwin\bin;%PATH%

set PATH=E:\Program Files\cygwin\bin;%PATH%

WebKit工程 Source\WebKit2\win\WebKitPreBuild.cmd

set PATH=%SystemDrive%\cygwin\bin;%PATH%

set PATH=E:\Program Files\cygwin\bin;%PATH%

'bash' 不是内部或外部命令,也不是可运行的程序

18. Build Solution (我第一次是按照工程的依赖链一个一个编译的,容易发现哪个工程出错了,也可以直接Build Solution)

19. 下载Safari

安装之后将Safari根目录下的所有dll(PubSubDLL.dll,Safari.dll,SafariTheme.dll,Search.dll和SpellChecker.dll)

拷贝到WebKitBuild\Debug\bin目录。

20. 点击WinLauncher.exe ,搞定

其他编译错误:

1. error C2001: newline in constant    Source\WebCore\platform\LocalizedStrings.cpp  Source\WebCore\platform\LocalizedStrings.cpp

return formatLocalizedString(WEB_UI_STRING("Look Up 鈥?@鈥?, "Look Up context menu item with selected word"), selectedCFString.get());

return formatLocalizedString(WEB_UI_STRING("Look Up“%@”", "Look Up context menu item with selected word"), selectedCFString.get());

return WEB_UI_STRING("Look Up 鈥?selection>鈥?, "Look Up context menu item with selected word").replace("<selection>",

return WEB_UI_STRING("Look Up “<selection>”", "Look Up context menu item with selected word").replace("<selection>",

VS2005+cygwin编译WebKit相关推荐

  1. Windows平台编译Webkit

    最近几天因为项目需要编译了一次Webkit,因为其中颇费周折,所以把自己的编译过程的总结分享一下,希望能给大家帮助. 参考网站http://www.webkit.org/ 1. 编译环境的搭建 (1) ...

  2. Win7+VS2010编译WebKit总结

    [转载请注明Moon出品] 编译WebKit可谓历尽千辛万苦,多亏了老师的鼓励和督促.Ashod和师姐的帮助,才能最终历经九九八十一难,成功地将WebKit编译,得道升天-现将所有有关WebKit及其 ...

  3. 使用Visual Studio 2010编译WebKit

    UPDATED 20140118:WebKit已经支持使用VS2013来编译啦!因此,如果使用VS2010来编译最新的WebKit代码会出现问题.还没有安装VS2013,但是,感觉只需将安装VS201 ...

  4. xcode 创建模拟器_Xcode编译WebKit

    下载WebKit源码 1)进入https://webkit.org/ 2)点击页面的 Get Started 进入新页面,如下图所示 3)点击 Getting the code 进入新页面,如下图所示 ...

  5. cygwin 编译 android vlc,Cygwin 编译 VLC 问题

    Cygwin 编译 VLC 遇到了这么多问题,不过还好最后编译过去了. 问题 1: gcc -mno-cygwin -Wsign-compare -Wall -mms-bitfields -pipe ...

  6. Cygwin编译自己定义OpenCV库报错:opencv_contrib: LOCAL_SRC_FILES points to a missing file

    今天受命帮师弟调个OpenCV4Android 识别银行卡的程序,版本号为OpenCV4Android2.4.9,使用方式为前文介绍的第一种方式,即通过jni调用opencv.如杂家前文所述,配套的N ...

  7. 编译webkit的wince版本

    编译的过程基本上参照的是(http://trac.webkit.org/wiki/WinCE#WindowsCEPortofWebKit),做了一些小的调整 一.使用工具版本 vs2005 + sp1 ...

  8. Cygwin编译cef

    1.下载cygwin,并安装如下项: autobuild autoconf autogen automake ccrypt cmakegcc-g++gdb httpd libGLw-devel lib ...

  9. 解决Cygwin编译cocos2dx 遇到的 error: 'UINT64_C' was not declared in this scope 问题

    环境工具:Win10.VS2013.cocos2d-x-2.2.6.Cygwin.ADT 问题来源:写了一个小游戏,VS2013上运行成功,就尝试着打包apk,项目导入到ADT里面,添加了cocos2 ...

最新文章

  1. 代码重构(五):继承关系重构规则
  2. LeetCode-动态规划基础题-63. 不同路径II
  3. CentOS-Samba服务
  4. javascript创建对象的几种方式 .
  5. php require 500,thinkphp5出现500错误怎么办
  6. JS-WEB-API(BOM、DOM)
  7. c判断数组是否为空_剑指offer编程题 1.二维数组中的查找
  8. XShell v7里的快捷键
  9. 安卓桌面软件_iOS便签软件求推荐,有可以在iOS系统上使用的桌面便签软件吗 - 学显...
  10. android 省略号控件动起来,动画效果省略号
  11. filebeat7.7.0相关详细配置预览- processors - add_fields
  12. 罗马帝国 Ancient Rome 简易修改器
  13. Python函数语法里的中括号和逗号是什么意思
  14. 解决微信emjoy特殊符号插入数据库出错
  15. 人邮计算机第三版PPTu12,高一英语U12词句、词组讲解.ppt
  16. 神策 2019 数据驱动大会,引领大数据行业“矩•变”升级
  17. 用几何画板画七边形的方法
  18. 企业移动视频通话会议EasyRTC视频会议通话系统开拓视频会议行业新前景
  19. 可以检测手机帧率和温度的软件_没有特异功能 手机软件是如何测得电池温度的...
  20. 我的世界服务器修改物品id,【图片】求助:如何修改物品ID【minecraft吧】_百度贴吧...

热门文章

  1. ajax实现highchart与数据库数据结合完整案例分析(三)---柱状折线图
  2. uwp选取文件夹并读取其中的图片
  3. 人口问题,怎样的生育率才能保持正常的世代更替?
  4. 人人网的系统架构 网上搜集
  5. DB2数据库性能调整和优化(第2版)
  6. requestURI的组成部分
  7. 非阻塞IO与异步IO
  8. 团队-团队编程项目作业名称-需求分析
  9. MPU和CPU有什么区别?
  10. Oracle在不同的语言环境结果to_date错误的问题