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)
    即应该有一种方法搭建联合环境,而不需要对库进行重编译
    后来通过搜索资料理解,以及咨询了禾路老师,知道了两者的区别,感谢。

posted @ 2020-05-18 01:28  Tzbubble  阅读(10811)  评论(0编辑  收藏  举报