What is cygwin and what does it do [closed]
after searching about it i found some info (yet confusing for me) Cygwin is a Unix-like environment and command-line interface for Microsoft Windows. i found the above line in wikipedia but what does that mean? i'm not getting a clear idea about MinGW and cygwin and msys, please help
Because it keeps confusing people: Cygwin: think of it as an OS. It provides a POSIX C runtime built on top of Windows so you can compile most Unix software to run on top of it. It comes with GCC, and to some extent, you can call the Win32 API from within Cygwin, although I'm not sure that is meant to happen or work at all. MSYS(2): a fork of Cygwin which has path translation magic to make native Windows programs work nicely with it. Its main goal is to provide a shell so you can run autotools configure scripts. You are not meant to build MSYS applications at all. Note that MSYS2 strives for much more and contains a full-blown package management system so you can easily install MinGW-w64 libraries and tools. MinGW(-w64): A native Windows port of the GCC compiler, including Win32 API headers and libs. It contains a tiny POSIX compatibility layer (through e.g. winpthreads, the unistd.h headers and some other bits), but you cannot compile POSIX software with this. This is best compared to MSVC, which also produces native code using the Win32 API. Note that there are MinGW-w64 cross-compilers that run on Cygwin. With MSYS2, I frankly don't see a good reason to do that. Might as well run a VM with Linux if you're going to use Cygwin for that.
More or less from its web page cygwin is a POSIX compatibility layer on top of windows API. This is mainly encapsulated in a cygwin1.dll a distribution system and repository of open source software compiled with this dll. In a nutshell, if you have a linux source, you can try to recompile for cygwin and be able to run it on windows... This enables to have accessible many of the typical unix commands (shells, gcc/g++, find....) Alternatives are: MSYS: are a set of typical unix command implemented in windows. mingw: A gcc/g++ target able to produce win32 programs (note that cygwin gcc/g++ programs will have a dependency on cygwin1.dll that mingw programs will not have).
Google protocol buffer compiling error in cygwin
How to specify/view C standard library man pages, and not those from another library?
regenerate-makefiles.sh generates libtoolize linking error when compiling IRSTLM
Error while doing ssh to localhost via putty
How can I build and test libffi under cygwin with mingw32?
Unable to build eglibc under cygwin for raspberry pi cross-toolchain
Console2 cygwin all green
Cygwin's rm async?
Fortran error: Program received signal SIGSEGV: Segmentation fault - invalid memory reference
Cygwin rsync stop working
Julia & Cygwin - Can't find all packages
Can cygwin ls show ACLs without providing the DOS path to file?
Setting up CUDD 2.5.1 on Windows using cygwin
cygwin make chktex command not found
How to install Weechat?
Issues with Clang in Cygwin