Compiling Qt 4.8.x for Visual Studio 2012

Compiling Qt 4.8.x for Visual Studio 2012

本文关键字:Visual Studio 2012 for Qt Compiling      更新时间:2023-10-16

为Visual Studio 2012编译Qt(版本4.8.x)应该采取哪些步骤?

我已经仔细地遵循了这个问题的公认答案(适用于VS 2010)中的说明,但WebKit模块未能编译(我不确定编译期间是否在任何地方记录了错误消息)。

我也看到了这个问题,它提出了同样的问题,但对于VS 2012 RC(这就是为什么我认为这不会是一个重复的问题)。此外,回答者说他已经为VS 2011 Beta版编译了Qt,所以它可能不适用于VS 2012(RTM)。编译需要很多的时间,这就是为什么我还没有尝试它。

我意识到的至少一个问题是Qtmkspecs中没有win32-msvc2012目录。我是否应该创建该目录并从win32-msvc2010复制文件,可能需要进行一些修改?

另一个子问题是,在开始编译之前,我是否应该对Qt源代码进行一些修改。

带有Visual Studio 2012 x64的Qt 4.8.3(也应与4.8.2一起使用)

  1. 安装Strawberry Perl

  2. 从下载Qt 4.8.3源代码http://qt-project.org/downloads

  3. 转到mkspecswin32-msvc2010。打开qmake.conf并更改:

    QMAKE_COMPILER_DEFINES  += _MSC_VER=1600 WIN32
    

    至:

    QMAKE_COMPILER_DEFINES  += _MSC_VER=1700 WIN32
    
  4. qt-everywhere-opensource-src-4.8.3-x64src3rdpartywebkitSourceJavaScriptCorewtfHashSet.h替换为该HashSet.h

  5. 启动"VS2012 x64本机工具命令提示符"

  6. 切换到Qt 4.8.3源目录(包含configure.exe的目录)

  7. 运行:

    configure -mp -opensource -nomake demos -nomake examples -platform win32-msvc2010
    
  8. 紧随其后的是:

    nmake
    

我编程了一个名为BlueGo的工具,它可以自动下载Qt 4.8.3并使用VS2012 x64构建它:http://bluego.vertexwahn.de(也适用于VS2010 x64)(它只是自动执行我上面描述的操作)

Qt 4.8.4需要的调整比上面Vertexwahn描述的要少。

  • 从存档中提取Qt后,仍然需要修复HashSet(请参阅Vertexwahn的修复)
  • 平台win32-msvc2012是开箱即用的支持(也适用于64位环境中的64位,不要问他们为什么将其命名为win32)

因此,只需替换HashSet.h并编译即可。

仅仅用下面的更改创建一个win32-msvc2012目录对我来说不起作用,还需要更多的编辑。具体需要什么在您已经链接的线程中进行了描述。

我所做的,我去了win32-msvc2010。

在那里,打开qmake.conf并更改

QMAKE_COMPILER_DEFINES+=_MSC_VER=1600 WIN32

QMAKE_COMPILER_DEFINES+=_MSC_VER=1700 WIN32

然后我可以使用win32-msvc2010进行配置。

此外,我使用了以下更改:http://qt-project.org/forums/viewthread/17771(alzi版本)