3

我在使用 MSVC 2012 编译器编译 Qt 项目时遇到问题。我先下载了 Qt,然后意识到我还没有合适的编译器,然后下载了 Microsoft Visual Studio Express 2012 及其 msvc 编译器。但是,每当我尝试在 Qt Creator 中编译某些内容时,都会出现以下错误:

qtmain.lib(qtmain_win.obj):-1: LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match with value '1700' in glwidget.obj

所以我对这意味着什么的理解是我的 Qt 库与我的 msvc 编译器的版本不同(旧)。但我不确定如何修复它,或者如何获取其他/更新的库。一些谷歌搜索告诉我,添加到 Qt .pro 文件中的以下代码应该可以解决问题:

QMAKE_COMPILER_DEFINES  += _MSC_VER=1700 WIN32

但这没有任何效果。此外,使用 '1600' 而不是 '1700' 也无济于事。有什么想法吗?

我正在使用 32 位 Windows 7 系统,如果有帮助的话,我正在使用 Qt 5.0.0。

4

2 回答 2

3

您需要为 Visual Studio 2012 编译的二进制文件。由于没有可用的官方(或非官方)预编译二进制文件,您需要自己编译它们。

这应该不是一个复杂的过程,但是对于初学者来说可能很难并且令人沮丧,所以我建议您按照已经给出的建议并下载 VS2010(毕竟下载和安装它比下载和安装它花费的时间更少)从源代码编译 Qt)。

于 2013-02-04T18:02:31.900 回答
1

您必须使用 MSVC 2010,因为库是使用它构建的。试试Visual C++ 2010 速成版

于 2013-02-04T17:34:02.787 回答