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的區別)