我想編譯qt,並且面臨着使用MinGw或Visual Studio編譯器的兩個選擇嗎?它們之間有什麼區別,使用其中一個還是其他的優點/缺點?與MinGw或視覺工作室的Windows Qt?
23
A
回答
19
它們都是很好的工具。重要的是要知道,他們不一定能夠很好地合作。也就是說,當你將庫鏈接在一起時,它們都必須使用相同的工具鏈。出於這個原因,在我看來,最好使用Visual Studio編譯器(MSVC),因爲它是Windows上的「頭等公民」;其他人則被視爲二等。
我的意思是,你可以非常依賴使用MSVC的二進制形式的第三方庫,或者至少構建使用MSVC的指令。我們有很多第三方庫的問題,無法在MinGW中編譯,或者不存在編譯指令,也不得不進行大量的手動Makefile編輯等。如果使用MSVC,您更有可能擁有「正常工作」的東西。
這就是我們的經驗(我們從MinGW開始);你的旅費可能會改變。
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的倉庫和大量的準備使用的靜態和動態庫爲它構建,所以你可以避免艱難的,經常容易出錯的構建過程。
相關問題
- 1. 視覺工作室
- 2. 視覺工作室
- 3. ReSharper困惑我的視覺工作室 - 重置視覺工作室與默認
- 4. 使用的DirectX與視覺工作室
- 5. angular2與視覺工作室2015
- 6. GCC與視覺工作室宏擴展
- 7. GLFW和GLEW與視覺工作室2010
- 8. 使用opencv與視覺工作室2013
- 9. 這是內存碎片嗎? (視覺工作室和MinGW)
- 10. 在視覺工作室2012
- 11. 沒有視覺工作室
- 12. XML xpath視覺工作室
- 13. 使視覺工作室在'='
- 14. 擴展視覺工作室
- 15. PHPMyAdmin視覺工作室c#
- 16. 綠色視覺工作室?
- 17. 視覺工作室 - TabControl.TabPages.Insert不工作
- 18. 編譯Qt的使用視覺工作室命令提示
- 19. 視覺工作室設計視圖
- 20. 遊戲製作工作室視覺bug
- 21. 視覺工作室F5,ctrl + F5或在視覺工作室之外運行有什麼不同?
- 22. CUDA的「ThreadIdx」不被視覺工作室
- 23. 已修改的視覺工作室行
- 24. 的.Net沒有視覺工作室
- 25. 修改視覺工作室的安裝
- 26. 的Prolog用c#視覺工作室13
- 27. vb.net在新的視覺工作室compability
- 28. 視覺工作室怪異的行爲
- 29. 視覺工作室的代碼高亮
- 30. 像面板的視覺工作室
但是,如果您已經使用Qt SDK安裝了MinGw,您爲什麼要使用視覺工作室? – Anonymous 2012-02-09 21:58:05
這就是我的第二段所解釋的。如果VS的成本有問題,您可以使用免費的SDK - 它只是您需要的編譯器,而不是IDE。您仍然可以使用Qt Creator作爲您的IDE,只需告訴它使用MSVC工具鏈即可。 – 2012-02-09 22:02:47