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