【问题标题】:Using Qt in VS2013在 VS2013 中使用 Qt
【发布时间】: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

【问题讨论】:

    标签: c++ visual-studio qt visual-studio-2013


    【解决方案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 库,请告知。谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-25
      相关资源
      最近更新 更多