首先安装一些必须的工具,都是开源的,可以从网上下载:
- 安装ActiveState Perl
- 安装Python 2.x
- 安装下列GNU工具,可以在GnuWin32 Project找到。
注意:将上述工具安装在不带空格的路径上,比如不要安装在“C:Program Files”。
接下来,设置path环境变量,加上perl, python以及GNU工具的可执行程序路径。另外,您还需要设置QTDIR环境变量指向Qt安装路径,并将%QTDIR%/bin添加到path环境变量。
最后,开始编译QtWebKit:
- 打开Visual Studio 2008命令提示
- 输入cd <your WebKit source path>
- 输入命令perl ToolsScriptsbuild-webkit -qt –release
经过漫长的编译,结果出现如下所示的错误:
jscore.lib(OSRandomSource.obj) : error LNK2019: 无法解析的外部符号 __imp__CryptReleaseContext@8,该符号在函数 “void __cdecl WTF::cryptographicallyRandomValuesFromOS(unsigned char *,unsigned int)” (?cryptographicallyRandomValuesFromOS@WTF@@YAXPAEI@Z) 中被引用
jscore.lib(OSRandomSource.obj) : error LNK2019: 无法解析的外部符号 __imp__CryptGenRandom@12,该符号在函数 “void __cdecl WTF::cryptographicallyRandomValuesFromOS
(unsigned char *,unsigned int)” (?cryptographicallyRandomValuesFromOS@WTF@@YAXPAEI@Z) 中被引用
jscore.lib(OSRandomSource.obj) : error LNK2019: 无法解析的外部符号 __imp__CryptAcquireContextW@20,该符号在函数 “void __cdecl WTF::cryptographicallyRandomValuesFromOS(unsigned char *,unsigned int)” (?cryptographicallyRandomValuesFromOS@WTF@@YAXPAEI@Z) 中被引用
releasejsc.exe : fatal error LNK1120: 3 个无法解析的外部命令
NMAKE : fatal error U1077: “”D:Program FilesMicrosoft Visual Studio 9.0VCBINlink.EXE””: 返回代码“0×460”
Stop.
NMAKE : fatal error U1077: “”D:Program FilesMicrosoft Visual Studio 9.0VCBINnmake.exe””: 返回代码“0×2”
Stop.
NMAKE : fatal error U1077: “cd”: 返回代码“0×2”
Stop.
解决方法:修改SourceJavaScriptCoreJavaScriptCore.pri行中的
win32-* {
LIBS += -lwinmm
}
为
win32-* {
LIBS += -lwinmm -lAdvapi32
}
再次运行
perl ToolsScriptsbuild-webkit -qt –release
在WebKitBuildReleasebin目录下会生成QtTestBrowser.exe,这是一个简单的Qt浏览器,界面如下图所示: