Cygwin vs MinGW – what to prefer when

Sometimes we get confused between Cygwin and MinGW when developing open source applications. Off course they are not the same but which one to prefer when is a big challenge.


MSYS(in MingGW) by itself does not contain a compiler or a C library, therefore does not give the ability to magically port UNIX programs over to Windows nor does it provide any UNIX specific functionality like case-sensitive filenames. Users looking for such functionality should look to Cygwin.

Cygwin applications by principle are not considered a “Native Win32 application” because it relies on the Cygwin® POSIX Emulation DLL or cygwin1.dll for Posix functions and does not use win32 functions directly. MinGW on the other hand, provides functions supplied by the Win32 API. While porting applications under MinGW, functions not native to Win32 such as fork(), mmap() or ioctl() will need to be reimplemented into Win32 equivalents for the application to function properly.


In minGW the MSYS is a collection of GNU utilities such as bash, make, gawk and grep to allow building of applications. Its a command prompt where users  run “./configure” then “make” to build programs. The problem is there’s no /usr directory psychically. The root (/) is considered as usr (/usr) path – so you can not create one either. The problem arises while a program depends on third party library – there is no place to put this third party library so that the default search path can find the library file. Usually in linux /usr/local/lib is the default library search path. So the client program can not configure with “./configure”. You will need special modification on LIBRARY_PATH environment variable which is much tedious and cumbersome.

So to run the program which needs lots of dependency on other libraries I would prefer Cigwin over minGW.



2 thoughts on “Cygwin vs MinGW – what to prefer when

  1. A fellow blogger here, found your site via Monstra, and I have a piece of advice:
    write more. Honestly, it appears as if you relied on the video to drive your point home.

    You clearly know what you’re dealing with, so why waste your intellect just posting videos to your blog when you could be providing us with something insightful to read?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s