【问题标题】:linker error when compiling a project written with QT编译用 QT 编写的项目时出现链接器错误
【发布时间】:2013-05-15 09:34:55
【问题描述】:

我有一个由其他人编写的项目。它基于 QT。

我下载了 QT 并用 VS 2012 编译。

现在我正在使用 VS2012 编译我的应用程序并收到此链接器错误:

Error   215 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in aboutdialog.obj ProjectPath\qtmaind.lib

有什么问题,我该如何解决?

【问题讨论】:

  • 你用来编译的命令行是什么?
  • @JBL:我正在使用VS进行编译和链接。

标签: c++ visual-studio qt


【解决方案1】:

链接器抱怨用于编译一个编译单元 (aboutdialog.obj) 的 Microsoft 编译器版本与您的库 (ProjectPath\qtmaind.lib) 的版本不同。

MSVC 1600 包含在 Visual Studio 2010 中,而 MSVC 1700 包含在 Visual Studio 2012 中。

您尝试使用 VS2012 编译所有内容的尝试似乎并不详尽。

【讨论】:

  • 谢谢。如何找到哪个文件/库的版本不正确?
  • 您可以添加使用 VS 命令提示符编译它可以避免此问题。运行configure 脚本时,应添加选项-platform win32-msvc2012
  • 这实际上取决于 OP 试图构建的 QT 版本,我无法从他的问题中推断出。 (查看stackoverflow.com/questions/12113400/… 以获取与 QT 4.8.x 的相关讨论)
  • 哦,是的,它实际上是为 QT 5.x.x 设计的。
  • 我使用的是 QT 4.8.x,我可以使用 QT 5 吗?它们兼容吗?
猜你喜欢
  • 2013-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-25
相关资源
最近更新 更多