Cygwin and Mingw/msys/msys2, how to choose?

Source: Internet
Author: User

This article link:

What are Cygwin and mingw? Please read this: Msys/mingw and CYGWIN/GCC.

With the inability to fully convert to a Linux system, I've been working under Cygwin, Learning Bash programming with a full set of Linux porting tools.

But Cygwin because the work in the simulation mode, the speed is slower, compared to, the MinGW will be much faster.

Here is the comparison of my choice:

td> more class Linux? The
features Cygwin mingw/msys MSYS2
whether GNU no Yes Yes
more software support? supports most GNU software support common software, git, vim and other software need independent support (detailed introduction below) support most GNU software
Cygwin in Windows just like wine in Linux implements major Linux programs such as Bash native 64/32bit support
GCC compilation includes MingGW32 cross-compilation, supports both Cygwin1.dll-dependent program compilation and standalone Windows program compilation; You can compile applications under Linux directly support for standalone Windows program compilation support for standalone Windows program compilation
Chinese support direct support for Chinese display and IME need to be configured to support Chinese display and input, delete a medium character need to be deleted 2 times support Chinese display and input method, Chinese help system and Chinese hint (part Software)
run speed slow fast fast

Git for Windows and Msysgit are built on Mingw/msys. But if you've already installed Mingw/msys and want to get git on your existing mingw/msys, it'll be a hassle, as described in the 2 articles below:

    • Installing Git under MinGW (+msys)
    • Using Msysgit from MinGW and vice versa

Also, when installing msysgit, be aware that the bin directory of Cygwin cannot be located in the PATH environment variable. Otherwise msysgit will refuse to install.

In the end, I decided to keep Cygwin. Git, vim, and Chinese are the main reasons.

2014-12-17 Update:

During this time, I tried MSYS2 and found that it was able to meet all of the requirements listed above. At the moment I have deleted the Cygwin and switched to MSYS2.

Here is the official introduction of MSYS2:

MSYS2 is an updated, modern version of MSYS, both of which was Cygwin (POSIX compatibility layer) forks with the aim of being Tter interoperability with native Windows software.

The name is a contraction of Minimal SYStem 2, and "aims to provide" support to facilitate using the bash shell, Autotools, Revision control systems and the like for building native Windows applications using Mingw-w64 toolchains.

The problem currently encountered is that Python PIP cannot be run under MSYS2. But I can use the Windows version of Python.

Post a run:

Cygwin and Mingw/msys/msys2, how to choose?

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.