C ++-为Visual Studio 2012编译Qt 4.8.x

我应该采取什么步骤来为Visual Studio 2012编译Qt(版本4.8.x)?

我已经仔细地按照了这个问题(对于VS 2010)的可接受答案中的说明进行操作,但是WebKit模块未能编译(我不确定在编译过程中是否在任何地方记录了错误消息)。

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

我意识到的至少一个问题是Qt\mkspecs中没有win32-msvc2012目录。我是否应该仅创建该目录并复制win32-msvc2010中的文件(可能进行一些修改)?

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

Smi asked 2020-07-31T15:25:02Z
3个解决方案
72 votes

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

  1. 安装Strawberry Perl

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

  3. 转到nmake 。打开qmake.conf并更改:

    nmake
    

    至:

    nmake
    
  4. 将此nmake 替换为nmake

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

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

  7. 跑:

    nmake
    
  8. 其次是:

    nmake
    

我编写了一个名为BlueGo的工具,该工具会自动下载Qt 4.8.3并使用VS2012 x64进行构建:[http://bluego.vertexwahn.de](也可与VS2010 x64一起使用)(它会自动执行上述操作)

Vertexwahn answered 2020-07-31T15:37:41Z
22 votes

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

  • 从存档中提取Qt之后,仍必须修复HashSet(请参见Vertexwahn修复)。
  • 开箱即用地支持平台win32-msvc2012(在64位环境中也适用于64位,不要问为什么将其命名为Win32)。

因此,只需替换HashSet.h并进行编译。

cbielow answered 2020-07-31T15:38:15Z
6 votes

仅创建具有以下更改的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的版本)

Florian George answered 2020-07-31T15:39:06Z
translate from https://stackoverflow.com:/questions/12113400/compiling-qt-4-8-x-for-visual-studio-2012