如何为 Qt 而不是 MinGW 设置 Visual Studio 2012 RC 编译器?

Windows 8 x86;Qt 4.8.2;Visual Studio Ultimate 2012 RC

Windows 8 x86; Qt 4.8.2; Visual Studio Ultimate 2012 RC

推荐答案

据我所知 Qt 还不支持 Visual Studio 2012 RC.但是,我自己设法使用 Visual Studio 2011 beta(Visual Studio 2012 RC 的前身――他们刚刚决定重命名)构建了 Qt 4.8.它需要在编译之前对 Qt 源代码进行一些更改.以下是我使用的步骤:

As far as I know Qt does not yet support Visual Studio 2012 RC. However, I managed to build Qt 4.8 with Visual Studio 2011 beta (the predecessor to Visual Studio 2012 RC - they just decided to rename it) myself. It required making some changes to Qt source code before compiling. Here are the steps I used:

  • 将 mkspecs/win32-msvc2010 复制到 mkspecs/win32-msvc2012 并编辑 qmake.conf 文件以指定 _MSC_VER=1700.
  • 在解压目录中的所有文件中搜索msvc2010"并修补这大约10个地方以也了解msvc2012"
  • 在 Visual Studio 命令 shell 中,cd 到 tools/configure,运行以前版本的 qmake(您需要已经拥有),然后运行 ??nmake 以更新您的 configure.exe.
  • 搜索make_pair<"在所有文件中并删除模板参数.
    • 这在 VS 2012 中可能不需要;在 VS 2011-beta 中,当指定模板参数时,我使用 make_pair 编译错误.
    • [可选] 将-nomake demos -nomake examples"添加到命令行以节省构建时间,和/或添加-mp"以并行构建

    这花了一些功夫,但它对我有用,我现在有几十个 Qt 应用程序启动并运行,所以我想我会与其他想要在 Visual Studio 11 上构建 Qt 4.8.x 的人分享(Visual Studio2011 测试版或 Visual Studio 2012 RC.)

    It took a little work but it worked for me and I now have dozens of Qt applications up and running, so I figured I'd share with anyone else who wants to build Qt 4.8.x on Visual Studio 11 (Visual Studio 2011 beta or Visual Studio 2012 RC.)

    如果这看起来太复杂,请稍等;我相信 Qt 很快就会支持 Visual Studio 2012.

    If this seems too complicated, just wait a bit; I'm sure Qt will support Visual Studio 2012 soon.

相关文章