我在使用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。
答案 0 :(得分:3)
您需要为Visual Studio 2012编译二进制文件。由于没有可用的官方(或非官方)预编译二进制文件,您需要自己编译它们。
This should not be complicated process,但对初学者来说可能很难并且令人沮丧,所以我建议你按照已经给出的建议并下载VS2010(毕竟,这将需要下载和安装它的时间比从源代码编译Qt少。
答案 1 :(得分:1)
您必须使用MSVC 2010,因为库是使用它构建的。试试Visual C++ 2010 Express。