#MinGW
MinGW(MinimalistGNU forWindows,又称mingw32),是一个将Linux常用的GCC编译器带到Windows上的工具链【包括一系列头文件(Win32API)、库和可执行文件】。
特点是:开源免费,生成的软件遵循GNU开源许可协议。
如果你的项目偏向开源,或者你喜欢在Windows上使用Linux风格的开发工具,MinGW就挺合适。此外,由于GCC在许多操作系统上都能用,因此选用MinGW有助于实现跨平台开发。
MSVC
这是微软自家研发的C++开发工具包,属于Visual Studio的一部分,包含了编译器、库和调试工具等一系列完整工具。如果你主要是为Windows编写程序,尤其是需要用到微软自家的其他技术(比如.NET),或者想要快速获取最新的C++语言特性,并享受微软提供的性能优化,MSVC版本则更为理想。
如何做选择?
选哪个版本,关键看你的实际需求:
IF: 你在意跨平台开发,或者比较喜欢开源工具链:
MinGW版本可能更适合你;
ELSE IF: 你的主要是开发Windows应用,需要用到微软特定技术或想紧跟C++新特性,追求性能最优,那么:
MSVC版本将是明智之举;
能否都安装?
在Windows上同时安装MSVC和MinGW,不会直接引发编译冲突,二者是独立的编译环境。
然而,若项目间混用编译器可能导致ABI不兼容,进而引发链接错误。
为避免此类问题,建议同一项目内统一使用相同编译器工具链,或采用兼容性方案处理跨编译器的交互问题。
如果你的日常开发,就在用Visual Studio,选择MSVC版本的Qt,将会使你的开发过程更流畅,因为它能够更好地与Visual Studio集成,让你享受到更强大的调试功能和问题排查能力。
转载https://zhuanlan.zhihu.com/p/685179759