Windows下的Qt编译器——MinGW和MSVC的区别

两者的区别

  • MSVC
    即Microsoft Visual C++ Compiler,即微软自己的编译器。
    我们下载Windows下的OpenCV时,会带两个文件夹VC14,VC15(分别与Visual Studio的版本有对应关系),这两个文件夹下的库可以直接运行不需要编译
    将VS作为Qt的开发环境也是使用这个编译器的缘故。

  • MinGW
    我们都知道GNU在Linux下面鼎鼎大名的gcc/g++,MinGW则是指Minimalist GNU for Windows的缩写。
    它是将GNU开发工具移植到Win32平台下的产物,即一套Windows上的GNU工具集
    用其开发的程序不需要额外的第三方DLL支持就可以在Windows下运行,相对地,不使用动态库导致的就是编译出来的程序大很多。也是可以设置使用静态库的

问题背景

在windows下面配置OpenCV和Qt的联合环境时会发现网上各类博客中有两种方案

  1. 直接介绍对工程的pro文件的配置
  2. 使用cmake和MinGW对OpenCV的源码进行重编译(极复杂)
    windows平台下基于QT和OpenCV搭建图像处理平台
    这是禾路老师的博客,他就是cmake进行重编译,我照葫芦画瓢,遇到了很多不同的步骤,最后也花了半天时间也没成功

这是为什么?仔细查看,他们使用的编译套件是不同的

  • 吐槽:
    在MacOS下面,直接配置clang进行编译
    而在安装的时候windows下的Qt时候,主要就有MinGW和MSVC两个选项,这两个编译套件有什么区别?
    不得不吐槽Window的环境配置是真的麻烦,尤其是Visual Studio,霸占我的C盘,逼我上大容量ssd做系统盘

  • 思考:
    于是考虑到毛星云OpenCV书中在介绍的在VS中配置OpenCV的方法,以及网上介绍的在VS中配置Qt的方法(即使用VS代替Qt Creator)
    即应该有一种方法搭建联合环境,而不需要对库进行重编译

后来通过搜索资料理解,以及咨询了禾路老师,知道了两者的区别,感谢。

猜你喜欢

转载自www.cnblogs.com/tzbubble/p/12908007.html