当前位置: 代码迷 >> Web前端 >> 在windows xp上编译WebKit
  详细解决方案

在windows xp上编译WebKit

热度:187   发布时间:2012-08-14 10:39:57.0
在windows xp下编译WebKit

在windows xp下编译WebKit
2010年10月26日
  windows下编译WebKit是个繁琐的事情,尤其是使用VCExprss来编译,编了很多次才最后得以成功。总结下来需要注意的地方如下:
  1.在干净的,没有安装其他开发环境的机器上编译,如果有,请清理path目录,否则编译的时候可能用到了错误的程序。当然可以用which.exe看看到底用了那个程序
  2.最好在英文的环境下编译,虽然说现在都unicode了,不过webkit编译生成的很多文件还是原始的单字节文件。比如在中文下编译dumprendertree就遇到了E:\webkit\WebKitLibraries\win\include\conditionalm acros.h文件有代码(936)不认识的字符,如果在中文下,也可以用notepad保存成unicode再编译一次
  3.安装开发环境,需要严格安装webkit上面说的,其中cygwin,要用webkit上的cygwin-downloader来安装。同时一定安装quicktime sdk。这个东西也不大。
  4.webkit原代码可以直接下载snapshot的,然后解压到随便哪个目录,注意解压完成一定要运行update-webkit脚本,如果在cygwin shell里面运行不了可以试试
  perl  w update-webkit
  5.在局域网里,需要设置proxy出去的机器,在cygwin的用户根目录(一般是c:\cygwin\home\\)设置subversion和curl的代理,subversion的代理在.subversion\servers 文件里面,curl的代理在.curlrc文件里面,没有这个文件,可以新建后,添加配置
  proxy = http://proxy:port
  6.webkitsupportlibrary.zip需要从webkit上下载放在webkit源代码的根目录。不用解开,编译的时候会自动检查
  7.好了,开始编译了,进入cygwin shell,cd到webkit源代码的地方。如果在其他盘符,也许需要这样
  cd /cygdrive//webkit/webkittools/scripts/
  8.运行perl  w build-webkit,呵呵杯具开始上演了。
  9.如果出现错误,没关系,先查看webkit源代码目录下webkitbuild/obj/buildfailed文件,看看那个项目错了,然后看obj目录下该项目的buildlog.html文件
  10.我碰到的问题有很多,下面一一道来,不过每个人遇到的不一样,我的解决方法也不一样的适合其他人,记住我用的是visual studio express 2005版本,也许visual studio 2005更容易
  cl.exe不能运行: 这个问题这样解决,在windows系统环境中把INCLUDE和LIB和PATH都配置好,可以按照visual studio 2005的command prompt和microsoft 2003 r2 SDK的set windows xp retail environment的配置设置
  link.exe连接错误:在shell里面看看link文件用的是那个,如果是/usr/bin下的,就把c:/cygwin/bin下的link.exe改个名字。
  cssvaluekeywords.gpref文件错误:看看cssvaluekeywords.h和.c文件,最后是不是多了]和}
  dumprendertree文件中936代码不认识的字符:可以用notepad保持成unicode再编译,或者修改这个项目文件配置不把warning到error
  winlauncher工程link错误,找不到printdlg,startdoc等符号:在该工程里面添加comdlg32.lib gdi32.lib即可
  webapitest工程link错误,找不到createwindowsex等符号:在该工程里面添加user32.lib ole32.lib
  webcore工程link 1106错误,写文件错误或磁盘不足:把该工程的属性->C++->优化->全程序优化,关闭即可
  webkit工程link __imp_GetOpenFileNameW@4 错误:在WebKit\WebKit2\win\WebKit2Common.vsprops里面添加comdlg32.lib库。
  11.好了,基本在cygwin下可以编译成功了。webkitbuild目录下一共3G的文件。呵呵所以一定要大硬盘。cygwin下编译,我一共用了1个小时的时间。记住一点,每次编译最好把上次的webkitbuild目录删除,这样编译的成功率会高很多
  12.运行编译好的webkit,需要先安装一个Safari,然后在Cygwin shell中运行run-safari脚本。这个很简单。调试用debug-safari脚本。这些就参见webkit网站
  相关解决方案