簡體   English   中英

帶有 MinGw 或 Visual Studios 的 Windows Qt?

[英]Windows Qt with MinGw or Visual Studios?

我正在嘗試編譯 qt,並且面臨使用 MinGw 或 Visual Studio 編譯器的兩種選擇? 它們之間有什么區別,使用其中一個有什么優點/缺點嗎?

它們都是很好的工具。 要知道的重要一點是,他們不一定能一起玩得很好。 也就是說,當您將庫鏈接在一起時,它們都必須使用相同的工具鏈。 出於這個原因,在我看來,最好使用 Visual Studio 編譯器 (MSVC),因為它是 Windows 上的“一等公民”; 其他人在某種程度上被視為二等艙。

我的意思是,您幾乎可以依靠使用 MSVC 以二進制形式提供的第三方庫,或者至少使用 MSVC 提供構建指令。 我們遇到了很多問題,第三方庫無法在 MinGW 中構建,或者沒有構建指令,並且必須進行大量手動 Makefile 編輯等。如果使用 MSVC,您更有可能讓事情“正常工作” .

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

MinGW 使用 GCC,而 GCC 比 MSVC 有一個顯着的優勢——它是可移植的。 MSVC 僅限於 Microsoft 平台,GCC 支持幾乎所有內容,包括 8 位嵌入式 CPU。 這意味着您可以使用相同的指令並跨不同平台編譯擴展。

此外,MinGW 結構緊湊、安裝快速,甚至還有一個版本與 Qt 捆綁在一起。 與 MSVC 不同,它甚至不能獨立使用,你必須安裝 Visual Studio,它本身會安裝一堆你不需要但不能選擇退出的垃圾。

更新 現在可以在沒有 VS 的情況下獲得 MS 編譯器,也就是 MS Build Tools。 此外,如果您想為 Windows 構建 Chromium(又名 QtWebEngine),您必須使用 MSVC,這是谷歌強加的限制,因為它們僅支持使用平台原生編譯器進行構建。

最后但並非最不重要的一點是,您可以獲得 MSYS2,它有一個帶有 MinGW 的存儲庫,並為它構建了大量准備使用的靜態和動態庫,因此您可以避免繁瑣且經常容易失敗的構建過程。

更新僅供參考,對於 VS 構建工具 2019,僅 C++ 編譯器就占用了大約 4.5 GB 的空間,如果您只需單擊“C++ 構建工具”並將其保留為默認值,則大約為 8 GB。 相比之下,GCC 9.x 大約為 150 mb。 事實上,僅 MSVC 編譯器就比我多年來采用的整個廣泛的包集合還要大,加上它們的依賴項,總共超過 200 個包。 此外,我想說 MSYS 為我發現自己需要的大約 98% 的庫和工具提供了包,剩下的 2% 包括它擁有但沒有以適合我的用例的方式配置的庫。 不用說,數據包管理器使保持版本最新變得微不足道。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM