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的联合环境时会发现网上各类博客中有两种方案
-
直接介绍对工程的pro文件的配置
-
使用cmake和MinGW对OpenCV的源码进行重编译(极复杂)
这是禾路老师的博客,他就是cmake进行重编译,我照葫芦画瓢,遇到了很多不同的步骤,最后也花了半天时间也没成功
这是为什么?仔细查看,他们使用的编译套件是不同的
-
吐槽:
在MacOS下面,可直接配置clang进行编译,很方便
而在安装的时候windows下的Qt时候,主要就有MinGW和MSVC两个选项,这两个编译套件有什么区别?
需要吐槽Window的环境配置真的够麻烦,安装+卸载需要整整一天,尤其是Visual Studio,强行C盘,被迫上大容量ssd -
思考:
于是考虑到毛星云OpenCV书中在介绍的在VS中配置OpenCV的方法,以及网上介绍的在VS中配置Qt的方法(即使用VS代替Qt Creator)
即应该有一种方法搭建联合环境,而不需要对库进行重编译
后来通过搜索资料理解,以及咨询了禾路老师,知道了两者的区别,感谢。