在 VS2013 中使用 Qt

Posted

技术标签:

【中文标题】在 VS2013 中使用 Qt【英文标题】:Using Qt in VS2013 【发布时间】:2014-02-26 19:37:06 【问题描述】:

我最近发现了 Qt 5.2,它对我来说看起来很不错,但我有一个问题:我想在 Visual Studio 2013 中使用它。我从 Qt 的官方网站下载了Visual Studio Add-in 1.2.3 Alpha for Qt5。

我在我的 Visual Studio 2013 解决方案(Qt Application)中创建了一个项目,当我尝试编译它时,

Error   3   error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1800' in moc_graphicalui.obj E:\Applications\SizeWrite\GraphicalUI\qtmaind.lib(qtmain_win.obj)   GraphicalUI

我已经读过一些东西,我猜这是 Stack Overflow 上的一个问题,但我并不清楚我必须做什么才能正确解决这个问题。那么,谁能帮帮我?

我的操作系统:Windows 8.1 Pro x64

IDE:Visual Studio 2013 Ultimate x86

【问题讨论】:

【参考方案1】:

看起来这是您的 Qt 安装问题,而不是 VS 插件的问题。我认为您已经为 VS2012 (_MSC_VER=1700) 而不是 VS2013 (_MSC_VER=1800) 安装了二进制文件。 Qt download page 似乎还没有可用于 VS2013 的二进制文件,所以我建议 building them from the sources。

【讨论】:

我尝试从源代码构建它们,但它们在 QMAKESPEC=win32-msvc2010 处指定。我试图像QMAKESPEC=win32-msvc2013 那样修改它,但在某一时刻,我以失败告终。如果我没记错的话,编译器以代码 3... 退出 我自己还没试过用 VS2013 构建 Qt,但尝试浏览 Qt 论坛上的一些消息have been doing it【参考方案2】:

我在 VS2013 中有类似的问题,但实际上我引发了该错误(错误:)),因为我需要编译 32 位 Qt 库而不是 VS2013 的通用库,但似乎它们只是为64 位架构。因此,如果我们使用 VS2013,我们似乎应该使用 64 位 Qt 库,因为我们必须导入一个名为 .../Qt/5.3/msvc2013_64 的目录并且没有名为的目录,例如 .../msvc2013_32 或只是.../msvc2013。事实上,我在尝试使用 VS2012 目录中的库时引发了该错误.../Qt/5.3/msvc2012_opengl,这确实是比我使用的平台(VS2013)更旧的版本。

因此,如果您想在 VS2013 上编译 Qt 库,您似乎必须在 VS2013 项目的设置中将您的平台和调试模式更改为 64 位。至少,这对我有用。

希望它能解决您的问题,如果有人知道如何在 VS2013 中编译 32 位 Qt 库,请告知。谢谢。

【讨论】:

以上是关于在 VS2013 中使用 Qt的主要内容,如果未能解决你的问题,请参考以下文章

vs2013+qt5.3.2+pcl1.8.0+osg2.3开发环境配置

为啥我的VS下QT工程无法生成.pro

Qt中嵌入Directx11(有句柄就可以)

在 VS2013 中使用 CMfcTabCtrl

VS2013中使用ninja构建WebRTC并调试

在 VS2013 中使用 Qt