VS2008 SP1 + QT 4.8.6 + OpenSSL

VS2008 SP1 + QT 4.8.6 + OpenSSL 

 

  今天一个兄弟要webkit,我们最近确实在折腾爬虫这个东东,但是webkit编译有点纠结,索性找到了QtWebkit,选择一个比较成熟的版本 QT 4.8.6. 一路走过来,太多的要准备,这个可能就是开源的乐趣吧。

 

1.安装perl


  由于要支持SSL , Windows上可以安装这个http://strawberryperl.com/

 

2. 编译OpenSSL


到OpenSSL的网站http://www.openssl.org/source/下载最新的OpenSSL代码:openssl-1.0.1c

将代码解压后,根目录中有一个INSTALL.W32的文件,里面就是Windows下的编译方法。

启动VS2008工具命令行,在开始菜单Microsoft Visual Studio 2008\Visual Studio Tools这个目录下,该目录下有多个命令行,我选择的是“Open Visual Studio 2008 Command Prompt”这一个。

# 首先,切换到Openssl代码的根目录
> cd openssl\source\path

# 如果你安装了NASM,可以用汇编的形式编译,以加快Openssl的运行速度
# 执行下面两句
> perl Configure VC-WIN32 --prefix=d:\library\openssl
> ms\do_nasm

# 如果不想使用汇编编译,则执行下面两句就可以
# --prefix是指定你要把OpenSSL安装的位置
> perl Configure VC-WIN32 no-asm --prefix=d:\library\openssl
> ms\do_ms

# 开始编译
> nmake -f ms\ntdll.mak

# 安装到prefix指定的目录中
> nmake -f ms\ntdll.mak install

3. 编译 Qt 4.8.6

  到http://qt-project.org/downloads下载Qt4.8.6的代码,注意不要下libraries,下source code.或者直接点这个下载qt-opensource-windows-x86-vs2008-4.8.6.exe

 关于这篇文章很不错,但是下Libraries也是可以自己编译的.这个是版本旧了一些. 我也是参考了这里,编译VS2008 + QT

http://www.cnblogs.com/E7868A/archive/2012/11/15/2771501.html

 

3.1. 纠正Webkit代码问题

  

Webkit库中有一个HashSet.h的文件会导致编译失败,Stack Overflow上有人给出了解决办法在这里
将Qt根目录下的src\3rdparty\webkit\Source\JavaScriptCore\wtf\HashSet.h这个文件替换为这个文件的内容。

另外一个编译的问题是src\3rdparty\webkit\Source\WebCore\platform\DefaultLocalizationStrategy.cpp这个文件提示“常量中有换行符”

// 打开这个文件会会发现第327行 “<selection>”的引号是全角的,而文件编码是UTF8,不带bomb的
return WEB_UI_STRING("Look Up “<selection>”", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));

// 替换为
return WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));

3.2 开始编译QT 

# 切换到Qt代码的根目录
> cd  qt\source\dir

# 执行configure
# 如果找不到configure,那你一定是切换到了错误的目录
# 最后的-I 和 -L 表示使用我们前面编译的Openssl库
> configure -mp -opensource -nomake demos -nomake examples -platform win32-msvc2008 -openssl -I D:\openssl\include -L D:\openssl\lib

# 在提示Copyright的时候选择 y

# configure完成后,如果一切正常,会提示你nmake,
# 这时nmake编译即可
> nmake

 



# 耐心等待一两个小时吧。编译时间到了。(按照作者的说法,应该是这样的,取决于你的机器,机器差一些的兄弟,多等一会吧)

 

posted on 2014-12-21 12:59  Eaglezzb  阅读(630)  评论(0编辑  收藏  举报

导航