zoukankan      html  css  js  c++  java
  • Visual Studio 2008编译webkit

    自己编译webkit,遇到了一些问题进行了总结,放到这里和大家分享一下:

    1.编译前的准备工作一

    DirectX SDK(http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=10084) (这个文件少了 webcore会编译不通过),

    VS需要做一下升级  安装 VS90SP1  以及补丁 KB945140,KB960075,KB957912,KB967631

    下载google提供的 cygwin (webkit.org/repository/webkit/trunk/Tools/CygwinDownloader/cygwin-downloader.zip) cygwin中有100多个软件要让他全部下载完,不然后面的工作会出现问题,如果你的机器已经安装了perl等,可能会和它自带的冲突

    Quicktime SDK(http://developer.apple.com/quicktime/download/)需要申请账号才能下载

    下载并安装以上文件到c盘

    下载源码---编译前的准备工作二

    http://nightly.webkit.org/  放到C:\cygwin\home\ 下 在Cygwin中使用tar -xjvf WebKit-r112532.tar.bz2 ,然后重命名 WebKit

     

    下载一些库---编译前准备工作三

    下载

    WebKitSupportLibrary和WebKitAuxiliary:http://developer.apple.com/opensource/

    将上面文件(下载后不用解压)放到 C:\cygwin\home\WebKit 下,因为我的cygwin是建立在c盘下的

    2.设置环境变量 ---编译

    将WEBKITLIBRARIESDIR设定为  WebKit 源代码目录\WebKitLibraries\win路径; 将WEBKITOUTPUTDIR 设为你打算要存放obj和dll 的输出文件夹,当然这个文件夹所在的分区至少要有4G的剩余空间。

    说明: WEBKITOUTPUTDIR可以随便设,如果要保持和其他Build方式的一致性,那么就设置成为%WEBKIT_DIR%\output,这里%WEBKIT_DIR%是Webkit文件夹的绝对路径。WEBKITLIBRARIESDIR必须设置为%WEBKIT_DIR%\WebKitLibraries\win文件夹。

    例如:

    PATH c:\cygwin\bin
    WEBKIT_DIR C:\cygwin\home\WebKit (我的WebKit 放在了home目录下)
    WEBKITLIBRARIESDIR %WEBKIT_DIR%\WebKitLibraries\win
    WEBKITOUTPUTDIR %WEBKIT_DIR%\WebKitBuild

    运行脚本---编译

    打开cygwin  在 WebKit/webkit/Tools/Scripts/下执行脚本

    perl  update-webkit

    perl build-webkit    运行时出现 如下问题 

    *************************************************************
    Cannot find '/cygdrive/c/Program Files/Microsoft Visual Studio 9.0/Common7/IDE/VCExpress.exe'
    Please execute the file 'vcvars32.bat' from
    'C:\Program Files\Microsoft Visual Studio 8\VC\bin\'
    to setup the necessary environment variables.
    *************************************************************
    Died at /home/WebKit/Tools/Scripts/webkitdirs.pm line 1551.

    不用关心 ,不影响正常编译

    编译过程-编译

    a)         用VS打开WebKit/WebKit/win/WebKit.vcproj/WebKit.sln,选择正确的Configuration,也就是Debug和Release,选择Debug即可。(切记不要选择debug_all)

    b)        选择DumpRenderTree, QTMovieWin, WebCore, WebKit, WinLauncher等所有项目(把c++项目的属性都设置一遍)的项目属性,左侧选择“C/C++”,将右侧的“Treat Warnings As Errors”(“将警告视为错误”)设置为“No”。这个必须设置。否则编译时会报错。

    c)  设置警告级别,不输出报警

    d)      右击WinLauncher,选择“设为启动项目”,然后F7,开始编译。

    编译后会出现如下错误

    error C2001: 常量中有换行符
     error C2001: 常量中有换行符
     fatal error C1057: 宏展开中遇到意外的文件结束

    到相应的行 删除全角符号 "" 即可

    之前

    RetainPtr<CFStringRef> selectedCFString(AdoptCF, truncatedStringForLookupMenuItem(selectedString).createCFString());
        return formatLocalizedString(WEB_UI_STRING("Look Up “%@” ", "Look Up context menu item with selected word"), selectedCFString.get());
    #else
        return WEB_UI_STRING("Look Up ”<selection>" ", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));

    之后改为

    RetainPtr<CFStringRef> selectedCFString(AdoptCF, truncatedStringForLookupMenuItem(selectedString).createCFString());
        return formatLocalizedString(WEB_UI_STRING("Look Up %@ ", "Look Up context menu item with selected word"), selectedCFString.get());
    #else
        return WEB_UI_STRING("Look Up <selection> ", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));

    然后全部清除,重新编译 即可顺利通过

    下载安装 safari

    编译完成后,需要将C:\Program Files\Common Files\Apple\Apple Application Support下的一些库文件拷贝到C:\cygwin\home\WebKit\WebKitBuild\Debug\bin目录.  

    运行MiniBrowser.exe

     

    运行WinLauncher.exe

     

    试试吧 

     

     

  • 相关阅读:
    poj2187 Beauty Contest (凸包 + 旋转卡壳)
    codevs1298, hdu1392 (凸包模板)
    Codeforces Round #427 (Div. 2) E. The penguin's game (交互题,二进制分组)
    poj1655 Balancing Act (dp? dfs?)
    poj1654 -- Area (任意多边形面积)
    codeforces#426(div1) B
    poj1011 Sticks (搜索经典好题)
    考试题
    使用SMM框架开发企业级应用-----打印机案例
    使用SMM框架开发企业级应用-----Spring简介即Spring Ioc
  • 原文地址:https://www.cnblogs.com/liucheng/p/2431236.html
Copyright © 2011-2022 走看看