zoukankan      html  css  js  c++  java
  • Win7 & VS2013 编译 WebKit 总结

     
    [转载请注明Moon出品: http://blog.csdn.net/lzl124631x]

    距离上次编译WebKit(实际日期是2012年10月)已经过去一年多了, 这期间有很多人问我编译相关的问题, 我由于时间关系没有回复这些朋友, 先在这里说声抱歉.
    这几天我再次编译了一下WebKit, 发现编译它已经要求VS2013了, 而且很多地方都变化了. 再次经过一番尿血的尝试, 终于再次得到升天...此次编译版本是WebKit-r161524 (2014-01-09 02:29:27 GMT), 编译成功于2014-01-10, 可以说还是热乎的.
    全部编译过程如下, 先弄了个英文版, 稍后添加中文版. 这次省略了介绍什么的, 如果大家感兴趣请看第一篇编译总结. 本篇文章内容还仅是Cygwin下的编译, 稍后进行VS2013下的编译和断点调试.
    我将编译的Log文件和此文档的html版本上传到CSDN资源了(http://download.csdn.net/detail/lzl124631x/6835631), 大家可以去下载, 也许有帮助吧.
    最后, 还望大家多多支持, 谢谢!

    Special thanks to Roger Fong for his generous help and patience.
     
    Environment:
         Operating System:     Windows 7 Ultimate 32-bit
         Processor:               Intel Core i7 860
         Installed Memory:     4.00 GB    

    1. Installing VS2013:
         a. Install Win7 SP1 (windows6.1-KB976932-X86.exe)
         b. Install 5 patches for IE10
              ⅰ. Windows6.1-KB2533623-x86.msu
              ⅱ. Windows6.1-KB2670838-x86.msu
              ⅲ. Windows6.1-KB2729094-v2-x86.msu
              ⅳ. Windows6.1-KB2731771-x86.msu
              ⅴ. Windows6.1-KB2786081-x86.msu
         c. Install IE10 (IE10-Windows6.1-x86-en-us.exe)
         d. Install VS2013 (VS2013_RTM_ULT_ENU.iso)
         e. Right click on "C:Program FilesMicrosoft Visual Studio 12.0Common7IDEdevenv.exe", "Properties", "Compatibility", check "Run this program as an administrator".

    2. Installing Cygwin
         a. Download cygwin-downloader.zip (http://svn.webkit.org/repository/webkit/trunk/Tools/CygwinDownloader/cygwin-downloader.zip) and unzip it.
         b. Run cygwin-downloader.exe and wait...
         c. Run setup.exe, select "Install from Local Directory" and install.
         d. Run setup.exe, select "Install from Internet"
              i. In steps before "Select Packages", just select default folders, whatever connection and download site.
              ⅱ. Select Packages: Search "gcc", expand Devel, select "gcc-g++: GNU Compiler Collection(C++)"
              ⅲ. Select Packages: Search "gdb", expand Devel, select "gdb: The GNU Debugger"
         See more at "Installing gcc with Cygwin"(http://www.eecg.utoronto.ca/~aamodt/ece242/cygwin.html)
         e. Open C:cygwinetcprofile
              ⅰ. Modify line 32 to PATH="/bin:${PATH}"
              ⅱ. Comment line 44-50 (related to TMP variable) by adding '#' at the beginning of each line.

    3. Installing SDKs
         a. Install QuickTime SDK (https://developer.apple.com/quicktime/)
         b. Install Direct SDK (June 2010 DirectX SDK:http://www.microsoft.com/en-us/download/details.aspx?id=6812)

    4. Getting the Code
         a. Download Nightly Build (http://nightly.webkit.org/) and unzip it. My version is WebKit-r161524.
         b. Suppress Warning 4309: Open "WebKitLibraries/win/tools/vsprops/common.props", find tag <DisableSpecificWarnings>, add 4309.
         c. Download Support Library (https://developer.apple.com/opensource/internet/webkit_sptlib_agree.html) and copy it into WebKit-r161524. DO NOT unzip it.
         d. Open Source/WebCore/platform/LocalizedString.cpp, search "Look Up", delete the DOUBLE-BYTE double quotation marks around “%@” and “<selection>”.

    5. Save the following lines as a .cmd/.bat file (Build.cmd, for example), and put it into the WebKit-r161524 directory.
    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. @echo off  
    2.   
    3. echo Setting up links...  
    4. set CYGWIN_DIR=C:cygwin  
    5.   
    6. set WEBKIT_SOURCE_DIR=%~dp0%  
    7. if "%WEBKIT_SOURCE_DIR:~-1%"=="" set WEBKIT_SOURCE_DIR=%WEBKIT_SOURCE_DIR:~0,-1%  
    8.   
    9. for /R "delims=" %%a in (%WEBKIT_SOURCE_DIR%) do set WEBKIT_DIR_NAME=%%~nxa  
    10. set WEBKIT_LINK_DIR=%CYGWIN_DIR%home\%username%\%WEBKIT_DIR_NAME%  
    11.   
    12. if exist "%WEBKIT_LINK_DIR%" rmdir "%WEBKIT_LINK_DIR%"  
    13. mklink /D "%WEBKIT_LINK_DIR%" "%WEBKIT_SOURCE_DIR%"  
    14.   
    15. echo Exporting environment varibles...  
    16. set WEBKIT_OUTPUTDIR=%WEBKIT_LINK_DIR%WebKitBuildByCygwin  
    17. set WEBKIT_LIBRARIES=%WEBKIT_LINK_DIR%WebKitLibrarieswin  
    18. set VSINSTALLDIR=%VS120COMNTOOLS%....  
    19. set PATH=%WEBKIT_LINK_DIR%ToolsScripts;%PATH%  
    20.   
    21. echo Running Cygwin...  
    22. call "%CYGWIN_DIR%Cygwin.bat"  
    23. :exit  

    6. Build
         a. run Build.cmd
         b. update-webkit
         c. build-webkit --debug | tee WebKit-r161524/log.txt

    Other Material:
         a. Building on Windows:http://trac.webkit.org/wiki/BuildingOnWindows (WebKit Team's note on building on windows)
         b. ​WebKit Wiki: http://trac.webkit.org/wiki/WikiStart

    Error Solutions:
    ---------------------------------------------------------------------
    Error Message:
         17>     sh: /usr/bin/gcc: No such file or directory
         17>     Failed to read names from file: /cygdrive/g/WEBKIT~1/Source/WebCore/html/HTMLTagNames.in at /cygdrive/g/WEBKIT~1/Source/WebCore/dom/make_names.pl line 324.
         17>     /cygdrive/g/WEBKIT~1/Source/WebCore/DerivedSources.make:942: recipe for target 'HTMLElementFactory.cpp' failed
         17>     make: *** [HTMLElementFactory.cpp] Error 127
         17>     make: *** Waiting for unfinished jobs....
         17>     ./CSSGrammar.y:62.1: error: syntax error, unexpected end of file
    Solution:
         Install gcc to Cygwin (step 2.d).
    ---------------------------------------------------------------------
    Error Message:
         17>     build-generated-files.sh: line 59: cd: /home/Moon/WEBKIT~1/WEBKIT~2/Debug/obj32/WebCore/DerivedSources: Permission denied
         18>     c1xx : fatal error C1083: Cannot open source file: 'C:cygwinhomeMoonWebKit-r161524WebKitBuildByCygwinDebugobj32WebCoreDerivedSourcesCSSPropertyNames.cpp': No such file or directory
    Solution:
         Right click on "C:Program FilesMicrosoft Visual Studio 12.0Common7IDEdevenv.exe", "Properties", "Compatibility", check "Run this program as an administrator"
    ---------------------------------------------------------------------
    Error Message:
         ..platformLocalizedStrings.cpp(248): error C2001: newline in constant
    Or
         ..platformLocalizedStrings.cpp(250): error C2001: newline in constant
    Solution:
         Open Source/WebCore/platform/LocalizedString.cpp, search "Look Up", delete the DOUBLE-BYTE double quotation marks around “%@” and “<selection>”.
  • 相关阅读:
    angular 1.26 版本 window.history.back() 自动去顶部
    CK editor 制作 ”小“plugin
    CSS 3 过渡效果之jquery 的fadeIn ,fadeOut
    了解 : angular controller link nginit 顺序
    规范 : jobbox 中英文
    了解 : angular translate 和 google translate 和 微软 translate
    业务逻辑 : 未完 : easybook.com
    List和ArrayList的区别
    Select什么时候会产生重作日志
    几点对专用服务器与共享服务器差异的理解
  • 原文地址:https://www.cnblogs.com/h2zZhou/p/5922860.html
Copyright © 2011-2022 走看看