zoukankan      html  css  js  c++  java
  • 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 2008Visual Studio Tools这个目录下,该目录下有多个命令行,我选择的是“Open Visual Studio 2008 Command Prompt”这一个。

    # 首先,切换到Openssl代码的根目录
    > cd opensslsourcepath
    
    # 如果你安装了NASM,可以用汇编的形式编译,以加快Openssl的运行速度
    # 执行下面两句
    > perl Configure VC-WIN32 --prefix=d:libraryopenssl
    > msdo_nasm
    
    # 如果不想使用汇编编译,则执行下面两句就可以
    # --prefix是指定你要把OpenSSL安装的位置
    > perl Configure VC-WIN32 no-asm --prefix=d:libraryopenssl
    > msdo_ms
    
    # 开始编译
    > nmake -f ms
    tdll.mak
    
    # 安装到prefix指定的目录中
    > nmake -f ms
    tdll.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根目录下的src3rdpartywebkitSourceJavaScriptCorewtfHashSet.h这个文件替换为这个文件的内容。

    另外一个编译的问题是src3rdpartywebkitSourceWebCoreplatformDefaultLocalizationStrategy.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  qtsourcedir
    
    # 执行configure
    # 如果找不到configure,那你一定是切换到了错误的目录
    # 最后的-I 和 -L 表示使用我们前面编译的Openssl库
    > configure -mp -opensource -nomake demos -nomake examples -platform win32-msvc2008 -openssl -I D:opensslinclude -L D:openssllib
    
    # 在提示Copyright的时候选择 y
    
    # configure完成后,如果一切正常,会提示你nmake,
    # 这时nmake编译即可
    > nmake


    # 耐心等待一两个小时吧。编译时间到了。(按照作者的说法,应该是这样的,取决于你的机器,机器差一些的兄弟,多等一会吧)
  • 相关阅读:
    springboot下使用多线程
    springboot 下测试 service中的方法
    maven 将本地jar包 安装到本地仓库
    idea下http响应乱码
    使用vue-element-admin框架时如何添加多级目录
    如何在uniapp中使用mqtt
    在uniapp设计的APP中引入axios,支持cookie(真机亲测可行)
    vue中get方法如何传递数组参数
    Vue跨域访问,axios&cors
    Vue页面间传值,客户端数据存储,以及父子组件间props传值
  • 原文地址:https://www.cnblogs.com/eaglezzb/p/4176369.html
Copyright © 2011-2022 走看看