标签归档:Qt

QtWebKit研究(4):生成Visual Studio 2008工程

在前面的步骤中,虽然生成了QtTestBrowser,可以简单研究一下QtWebKit的特性了。但是如果要研究代码,我们当然希望能够进行单步跟踪调试。接下来,就是生成Visual Studio工程的步骤了。

按照Build Instructions for the QtWebKit build on Windows这篇文档,生成vs工程的命令很简单,就是:

perl ToolsScriptsbuild-webkit -qt -qmakearg=”-tp vc”

实际上,会出现如下错误:

Calling ‘nmake  -C JavaScriptCore -f Makefile.DerivedSources generated_files’ in
E:webkitsqtwebkitwebkitWebKitBuildRelease/JavaScriptCore

Microsoft (R) 程序维护实用工具 9.00.21022.08 版
版权所有 (C) Microsoft Corporation。保留所有权利。

NMAKE : fatal error U1052: 未找到文件“Makefile.DerivedSources”
Stop.
Failed to generate JavaScriptCore’s derived sources!

新的解决方法是,建立一个存放vs工程的目录,比如在QtWebKit源码的顶级目录建立一个vs目录,然后cd到该目录,输入

qmake -r <RelativePathToWebKitSources>DerivedSources.pro -o Makefile.DerivedSources

nmake -f Makefile.DerivedSources generated_files

qmake -r -tp vc <RelativePathToWebKitSources>WebKit.pro

其中RelativePathToWebKitSources为相对于QtWebKit源码顶级目录的相对路径。生成的solution文件为WebKit.sln,可以使用Visual Studio 2008打开。不过WebCore工程会加载失败,因为solution文件中该project的路径不对,使用文本编辑器修改一下即可。

QtWebKit_sln

可以用Visual Studio 2008编译QtWebKit了,不过编译过程中免不了会有一些状况的,根据情况添加头文件包含路径,没什么技术难度了。

最后,在lib目录下会生成一个QtWebKit4.dll。

QtWebKit研究(2):获取QtWebKit源码

QtWebKit是webkit在Qt上的移植版本。在Qt 4.7之前,QtWebKit一直是作为Qt的一部分,之后有独立的QtWebKit发布版本,当前稳定版本为QtWebKit 2.0.0,可以从https://gitorious.org/webkit/qtwebkit/archive-tarball/460b651c下载源代码。不过从这个地址下载非常慢,所以我选择从源代码库直接下载。

QtWebKit代码库托管在Gitorious.org上,采用的是git系统。所以还需要在windows上安装git客户端工具。Windows上比较好的git工具是msysgit,提供了Windows安装包。安装过程就不用多说了,安装完后,打开你要保存源代码的目录,点击鼠标右键,从右键菜单中选择”git bash”,会出现一个命令行窗口,在这里你就可以输入git命令了。参照QtWebKit的说明,输入如下命令获取源代码:

$ git clone git://gitorious.org/webkit/webkit.git

好事多磨,获取源代码经常失败,信息如下:

$ git clone git://gitorious.org/webkit/webkit.git
Cloning into webkit…
remote: Counting objects: 1072275, done.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

而且git不像SVN,不能接着上次的中断处续传(是git没有学好?)几次都是传到20%就挂了,又重新开始,代码就是下不下来。从网上找到一篇文章,专门针对gitorious.org的The remote end hung up unexpectedly错误给出了解决方法,原文在这里( 需要翻墙才能阅读:) )。大概的意思就是gitorious.org的服务太忙了,建议采用ssh协议,不要用git协议。这需要在gitorious.org上申请一个账号。申请账号很简单,只需要提供一个电子邮箱,然后收到一封邮件激活就可以了。接下来还需要:

1. 在本机上生成一个公钥,在git bash命令行上输入命令,然后一路回车即可。

$ ssh-keygen -t rsa

2. 登录gitorious.org,点击Manage SSH Keys,然后点击Add SSH Key,输入本机上的公钥,最后点击Save。本机上的公钥可以使用如下命令查看:

$ cat ~/.ssh/id_rsa.pub

3. 使用如下git命令获取QtWebKit源码:

$ git clone [email protected]:webkit/webkit.git

到此,你可以喝杯咖啡,起来活动活动筋骨了:)

(后记:使用git clone命令似乎只要网络中断或者用ctrl+c中断后,又必须开始,经过一番周折取到了qtwebkit的源码,发现实际上和从webkit svn上取的代码是一样的)

QtWebKit研究(1):在Windows XP上安装Qt开发环境

之前一直是在Ubunut下使用Qt,不过工作上很多时候又离不开Windows,所以经常在Ubuntu和Windows XP两个系统切换,感觉不方便。在Windows虚拟机上安装Ubuntu,感觉又太慢。最后决定还是在Windows上安装Qt开发环境。

安装非常简单,首先上https://qt.nokia.com/downloads-cn下载用于Windows的Qt库,然后下一个Visual Studio Add-in,这样就可以在Visual Studio 2008上进行Qt开发了。

安装过程就不多说了,安装完后,点击开始->程序->Qt by Nokia 4.7.1 (VS2008 OpenSource)->Visual Studio with Qt 4.7.1, 即可启动Visual Studio 2008,新建项目中就有Qt4 Projects选项了,如下图所示:

vs_qt4_new_project

可以通过向导建立一个包含窗口的应用程序,自此Qt的开发环境就建好了。