使用QT编译的时候,使用的编译器是用的Mingw的gnu编译器。那时候就想为什么不用cygwin来编译。
后来查了不少资料才了解了这两者的联系和区别。
1,mingw/MSYS基本上就是一套编译环境,mingw提供编译器和其他一些与编译程序相关的工具。使用这些工具编译出来的代码就能够直接在windows上面跑了
2,MSYS实际上为mingw提供了一个shell界面,在这个界面中能够调用mingw的gcc,g++编译器命令,还提供了一些ls,cd,grep等等基本的命令。而且主要的是还能够使用./configure命令来配置软件,这个用途可能就是MSYS的最开始的初衷吧。
3,与mingw/MSYS主要用来提供编译环境不同,cygwin更像是一个运行在windows上的linux系统,各种命令,各种服务很多很全,而且,与mingw一样的,也可以用cygwin来编译linux系统中的程序,使之能在windows上运行,与mingw不同的之处就是,用cygwin编译出来的程序,在windows上运行的时候需要cygwin.dll运行库的支持,而mingw则是生成出来的二进制文件可以直接运行,不需要依赖动态链接库。