8

视窗 8 x86;Qt 4.8.2;Visual Studio 终极版 2012 RC

4

1 回答 1

12

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

  • 将 mkspecs/win32-msvc2010 复制到 mkspecs/win32-msvc2012 并编辑 qmake.conf 文件以指定 _MSC_VER=1700。
  • 在解压目录中的所有文件中搜索“msvc2010”并修补〜10个地方以也了解“msvc2012”</li>
  • 在 Visual Studio 命令 shell 中,cd 到 tools/configure,运行以前版本的 qmake(您需要已经拥有),然后运行 ​​nmake 来更新您的 configure.exe。
  • 在所有文件中搜索“make_pair<”并删除模板参数。
    • 这在 VS 2012 中可能不需要;在 VS 2011-beta 中,当指定模板参数时,我使用 make_pair 编译错误。
  • 在 src\3rdparty\javascriptcore\JavaScriptCore\runtime\Structure.{h,cpp} 将 make_pair 调用更改为显式 JSC::StructureTransitionTableHash::Key 构造函数调用。
  • 编辑 src\3rdparty\clucene\src\CLucene\config\define_std.h 注释掉 _CL_HAVE_HASH_MAP 和 _CL_HAVE_HASH_SET
  • 在 Visual Studio 命令外壳中,运行随源安装的配置程序,例如:configure.exe -debug-and-release -platform win32-msvc2012 -opensource
    • [可选] 将“-nomake demos -nomake examples”添加到命令行以节省构建时间,和/或添加“-mp”以并行构建
  • 配置完成后,输入 nmake 开始构建。这将构建所有库的调试和发布版本以及所有工具(设计器等)的发布版本。

这花了一些功夫,但它对我有用,现在我已经启动并运行了几十个 Qt 应用程序,所以我想我会与其他想要在 Visual Studio 11 上构建 Qt 4.8.x(Visual Studio 2011 beta 或Visual Studio 2012 RC。)

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

于 2012-06-27T06:20:05.813 回答