Cygwin、MinGw、mingw-w64,MSys msys2区别与联系

时间:2022-09-06 01:51:56

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 上运行。
2、从能力上说
  • 如果程序只用到C/C++ 标准库,可以用MinGW 或Cygwin 编译。
  • 如果程序还用到了POSIX API,则只能用Cygwin 编译。
3、从依赖上说
  • 程序经MinGW 编译后可以直接在Windows 上面运行。
  • 程序经Cygwin 编译后运行,需要依赖安装时附带的cygwin1.dll。
 
MSYS2是MSYS的一个升级版,准确的说是集成了pacman和Mingw-w64的Cygwin升级版, 提供了bash shell等linux环境、版本控制软件(git/hg)和MinGW-w64 工具链。
与MSYS最大的区别是移植了 Arch Linux的软件包管理系统 Pacman(其实是与Cygwin的区别)