13

我对让 Qt 与 Visual Studio Express 一起工作感到困惑。大多数在线搜索都找到了使用以下指令编译 Qt 的指令:

  • 安装 MSVC2005 或 MSVC2008
  • 安装最新的 Platform SDK (@MSDN: "Platform SDK for Windows Server 2003 R2")
  • 从平台 SDK,您至少需要安装基本 + 互联网选项
  • 然后,下载并解压最近的快照或预览版到 D:\Qt\4.xx
  • 打开加载了 MSVC 设置的控制台(请参阅 MSVC 工具菜单)并转到 Qt 目录
  • 键入不带引号的“configure -platform win32-msvc2005”
  • 这将为您构建您需要的项目文件
  • 之后,就像运行“nmake”并喝很多咖啡一样简单

然后,将 D:\Qt\4.xx\bin 和 D:\Qt\4.xx\lib 添加到您的路径环境变量中,您就可以在系统的任何地方使用这个版本的 Qt。后者也可以添加到 MSVC 选项中的库部分。

(来自http://www.qtcentre.org/threads/11710-Visual-Studio-2005-Express

但是,当我转到 Qt 的下载页面 ( http://qt.nokia.com/downloads ) 时,有一个 Visual Studio 下载,标签为:“Qt libraries 4.7.1 for Windows (VS 2008, 228 MB)”

我很困惑,我真的还需要构建它吗?还是已经建好了?

4

4 回答 4

4

使用来自 qt (http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.1-vs2008.exe) 的可下载 exe 似乎不适用于 Visual Studio 2010。我尝试构建来自命令行的一个简单的 hello world 程序,它不会运行。我将重复我对先前答案的评论。

我尝试了来自 doc.qt.nokia.com/4.7/gettingstartedqt.html 的 hello world 示例。我能够构建项目并生成一个 exe。但是,exe 无法运行并生成有关“并行配置不正确...”的系统错误对话框。我运行了 SxsTrace,它说:

...
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC90.DebugCRT\ 9.0.21022.8__...\Microsoft.VC90.DebugCRT.DLL.
INFO: Attempt to probe manifest at C:\qthello\debug\Microsoft.VC90.DebugCRT.DLL.
INFO: Attempt to probe manifest at C:\qthello\debug\Microsoft.VC90.DebugCRT.MANIFEST.
INFO: Attempt to probe manifest at C:\qthello\debug\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.DLL.
INFO: Attempt to probe manifest at C:\qthello\debug\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.MANIFEST.
INFO: Did not find manifest for culture Neutral.
INFO: End assembly probing.
ERROR: Cannot resolve reference Microsoft.VC90.DebugCRT,processorArchitecture="x86", publicKeyToken="...",type="win32",version="9.0.21022.8".
ERROR: Activation Context generation failed.
End Activation Context Generation.

对我来说,它看起来像是在尝试使用 VS2008(我没有)。我想这是有道理的,因为下载是针对 VS2008 的。

当我问这个 SO 问题并且编译完成时,我正在使用我的问题中的说明(但是使用 win32-msvc2010 作为我的平台目标)编译 qt 4.7.1。我重建了 hello world 项目并运行了 exe。因此,似乎答案是为了与 Visual Studio Express 2010 一起使用,您当前确实需要编译(至少在 Qt 发布 VS2010 下载选项之前)。但是,我相信如果您使用的是 VS2008,那么您将不需要编译。

于 2011-02-24T01:29:57.090 回答
3

诺基亚为 Windows 提供的 Qt 二进制文件针对 MinGW 或 Visual Studio 2008,两者都用于编译 32 位可执行文件。如果您需要 VS 2005(32 位)的 Qt 二进制文件,您可以在他们的档案中找到它们。

对于其他一切,您需要自己编译 Qt。尤其是给:

  • 视觉工作室 2008 64 位
  • Visual Studio 2008 Express Edition 64 位:您需要提供 64 位编译器并使用这些编译器编译 Qt 的 Windows SDK 7.0。
  • Visual Studio 2010 32 位和 64 位

通常,您不能链接使用不同编译器编译的库,即使用使用 VC 9.0 (VS 2008) 32 位构建的 Qt 二进制文件并将它们链接到使用 VC 10.0 (VS 2010) 32 位构建的可执行文件。

于 2011-02-25T14:23:33.033 回答
0

只是对此的一个小更新。下载 QTSDK(并使用 cmake 而不是 qmake 一切看起来工作得很好。除了 QTSDK 的安装程序没有更新 qmake.exe 的路径并且您必须手动完成之外。

使用 QtSDK 4.8 和 Visual Studio Express 2010 测试

于 2012-03-22T21:27:15.970 回答
-2

http://qt.nokia.com/downloads有一个名为qt-vs-addin-1.1.7.exe (57 MB)的链接

你可能也需要那个。.

我认为您不需要编译这些库,因为现在可以下载它们。.

所以得到 228 MB 的库和 57 MB 的插件,你应该已经设置好了。

免责声明:我不使用 MSVC(还没有?)所以请让我知道它是否有效。

于 2011-02-24T00:35:03.617 回答