2013-02-04 34 views
2

我在編譯使用MSVC 2012編譯器的Qt項目時遇到了問題。我先下載了Qt,然後意識到我還沒有合適的編譯器,然後下載了Microsoft Visual Studio Express 2012及其msvc編譯器。 但是,每當我嘗試編譯Qt Creator中的東西,它提供了以下錯誤:由於不同版本的MSVC和Qt庫導致鏈接錯誤

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。

回答

3

您需要爲Visual Studio 2012編譯的二進制文件。由於沒有可用的官方(或非官方)預編譯二進制文件,您需要自行編譯它們。

This should not be complicated process,但它可以是堅硬沮喪初學者做,所以我建議你遵循已經給出建議,並下載VS2010(畢竟,這將需要更少的時間來下載並安裝它比從源代碼編譯Qt)。

1

您必須使用MSVC 2010,因爲這些庫是使用它構建的。嘗試Visual C++ 2010 Express

+0

好吧...那麼現在還沒有辦法更新Qt的庫,或者添加某種標誌來使這成爲可能? – Yellow

+2

僅使用MSVC 2012重建Qt。 –