使用 VS2012 编译 Qt 4.8.4

安装过 VS2012 之后发现官方并没有提供针对 VS2012 的预编译 Qt 4,所以我们必须要自己使用 VS2012 编译 Qt 4。Qt 4 的最新版是 4.8.4,这也是我们推荐的版本。按照官方的说法,这一版本已经能够使用 VS2012 进行编译。此处记下编译步骤:

首先准备必须的工具:

准备好上述工具之后,我们就可以进行编译工作了:

  1. 安装前面我们下载完成的 Perl。
  2. 将 Qt 源代码解压,比如这里我们将其解压到 C:\Qt。
  3. Qt 4.8.4 的 webkit 代码有一些问题,这里我们必须首先对其进行修改:
    1. C:\Qt\src\3rdparty\webkit\Source\JavaScriptCore\wtf\HashSet.h 文件使用这里提供的 HashSet.h 进行替换;
    2. C:\Qt\src\3rdparty\webkit\Source\WebCore\platform\DefaultLocalizationStrategy.cpp 文件的第 327 行修改为:
      return WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));

      我们修改的主要内容是将 Look Up 一句后面的双引号替换为转义字符。

  4. 将 JOM 解压到 C:\Qt\JOM。
  5. 在系统环境变量中添加两个新的变量:
    • QTDIR=C:\Qt\
    • QMAKESPEC=win32-msvc2012
  6. 在系统环境变量 Path 的最后增加一个 ;,然后加上 %QTDIR%\bin。
  7. 打开 VS2012 的本地工具命令行,进入 C:\Qt 目录。
  8. 输入下面命令并回车:
    configure -opensource -platform win32-msvc2012
  9. 然后输入:
    jom\jom.exe -j n

    注意,这里的 n 表示你的 CPU 的核数。例如,豆子的笔记本 CPU 是 i5 双核四线程,因此输入的是

    jom\jom.exe -j 4

    接下来便是漫长的等待,这个过程大约会持续 5 – 6 个小时,建议晚上睡觉前开始编译,第二天一早就可以得到结果了。

  10. 最后,如果编译没有错误,我们执行
    nmake install

    完成安装。

至此,我们就使用 VS2012 编译完成 Qt 4.8.4。

5 Comments

  1. san 2013年6月18日
    • 豆子 2013年6月18日
  2. san 2013年6月18日
    • 豆子 2013年6月19日
      • kylinsage 2015年8月7日

Leave a Reply