关于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下运行,相对地,不使用动态库导致的就是编译出来的程序大很多。也是可以设置使用静态库的
make、cmake、gcc\g++是啥?
简单点说gcc是C的编译器,g++是C++的编译器;make
与cmake
其实只是个辅助工具,单只有有个*.cpp
源码文件时,可直接使用g++
进行编译,当工程源码文件多了,一个个编译是非常麻烦的,于是就有了make
工具,进行批量编译,make本质还是调用g++。make凭什么进行编译呢,依靠makefile
文件(makefile文件记录了cpp直接的编译链接关系);但是makefile文件的制作本身也是一个工程,而且随着编译机环境的不同而不同,于是又出现了cmake
工具用于实时制作makefile文件;但是cmake
又凭什么制作makefile了呢?凭CMakeLists.txt
。
所以整个c++编译过程:
*.cpp->cmakelist.txt->cmake
->makefile->make
->可执行文件
MinGW-w64的安装及配置教程
下载地址