在 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的主要内容,如果未能解决你的问题,请参考以下文章