VS2005+cygwin编译WebKit

首先,如果按照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>", 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值