https://www.biaodianfu.com/cygwin-ming-msys.html
http://www.mingw-w64.org/doku.php
http://blog.csdn.net/haluoluo211/article/details/53322573
https://www.zhihu.com/question/22137175/answer/80239625
http://www.msys2.org/
1、从目标上说
- MinGW 是让Windows 用户可以用上GNU 工具,比如GCC。
- Cygwin 提供完整的类Unix 环境,Windows 用户不仅可以使用GNU 工具,理论上Linux 上的程序只要用Cygwin 重新编译,就可以在Windows 上运行。
- 如果程序只用到C/C++ 标准库,可以用MinGW 或Cygwin 编译。
- 如果程序还用到了POSIX API,则只能用Cygwin 编译。
- 程序经MinGW 编译后可以直接在Windows 上面运行。
- 程序经Cygwin 编译后运行,需要依赖安装时附带的cygwin1.dll。
MSYS2是MSYS的一个升级版,准确的说是集成了pacman和Mingw-w64的Cygwin升级版, 提供了bash shell等linux环境、版本控制软件(git/hg)和MinGW-w64 工具链。
与MSYS最大的区别是移植了 Arch Linux的软件包管理系统 Pacman(其实是与Cygwin的区别)