2012-02-08 27 views

回答

19

它們都是很好的工具。重要的是要知道,他們不一定能夠很好地合作。也就是說,當你將庫鏈接在一起時,它們都必須使用相同的工具鏈。出於這個原因,在我看來,最好使用Visual Studio編譯器(MSVC),因爲它是Windows上的「頭等公民」;其他人則被視爲二等。

我的意思是,你可以非常依賴使用MSVC的二進制形式的第三方庫,或者至少構建使用MSVC的指令。我們有很多第三方庫的問題,無法在MinGW中編譯,或者不存在編譯指令,也不得不進行大量的手動Makefile編輯等。如果使用MSVC,您更有可能擁有「正常工作」的東西。

這就是我們的經驗(我們從MinGW開始);你的旅費可能會改變。

+1

但是,如果您已經使用Qt SDK安裝了MinGw,您爲什麼要使用視覺工作室? – Anonymous 2012-02-09 21:58:05

+3

這就是我的第二段所解釋的。如果VS的成本有問題,您可以使用免費的SDK - 它只是您需要的編譯器,而不是IDE。您仍然可以使用Qt Creator作爲您的IDE,只需告訴它使用MSVC工具鏈即可。 – 2012-02-09 22:02:47

2

MinGW使用GCC,GCC對MSVC有一個顯着的優勢 - 它是便攜式的。 MSVC僅限於微軟平臺,GCC幾乎支持一切,包括8位嵌入式CPU。這意味着您可以在不同的平臺上使用相同的指令並編譯擴展。

另外,MinGW體積小巧,安裝快捷,甚至捆綁Qt版本。 與MSVC不同,它甚至不能單獨使用,你必須安裝visual studio,它本身會安裝一堆你不需要但不能退出的垃圾。

UPDATE 現在可以得到不帶VS的MS編譯器,也就是MS Build Tools。另外,如果你想爲Windows創建鉻(也就是QtWebEngine),你需要來使用MSVC,這是谷歌強加的限制,因爲它們只支持使用平臺本地編譯器進行構建。

最後但並非最不重要的一點,你可以得到MSYS2,它有一個MinGW的倉庫和大量的準備使用的靜態和動態庫爲它構建,所以你可以避免艱難的,經常容易出錯的構建過程。