Cygwin doesn't work in Windows 7

Windows Software

I'm running Windows 7 on my system. The problem is that i'm trying to setup cygwin on my system, in order to build up some projects. But it does work on my system and whenever i try to run it, it only stay still with the command line on the Window. Can any body tell me why i'm not able to run it on my system? Does any body have any idea about it? Kindly suggest me your views on the above issue.

Cygwin is a Linux emulator for Microsoft Windows, and as such does not support native Linux applications in order for them to run they need to be ported to Windows, and this normally normally means rebuilding the application using Cygwin.

Fortunately there have been a lot of very busy people and so the list of Linux tools and applications available to Cygwin is extensive.

Cygwin does not convert your Windows machine into a UNIX-compatible one, however. Cygwin does not enable your computer to understand UNIX signals, pseudo-terminals (PTYs) and such; it only provides mappings of UNIX actions to the Windows platform. It is not a way to make native Linux applications run on Windows. If you want an application to run on your Windows workstation, and it is not yet a part of the Cygwin suite, you will have to compile the source. If the application is a graphical one, another solution is to run the application remotely by using X functionality.

MinGW and Cygwin serve different purposes. MinGW brings you a UNIX command shell and tools for development of normal Windows EXEs. The EXEs produced by MinGW are designed to be stand-alone so that a consumer of the EXE need not have MinGW installed. Basically, this gives you access to the free gcc-family of compilers and tools allowing you to build standard Windows apps without a Microsoft (or other commercial) compiler. It uses all the usual Windows header files and such and is not designed to build standard POSIX code without some modifications as you'd have to port it just like you would if you were using Visual Studio (for example) instead of MinGW.

Cygwin, on the other hand, tries to not just bring a UNIX shell and tools to the Windows world, but also brings along a complete UNIX compatibility layer. The idea is that most any POSIX code can be compiled for Windows within the Cygwin environment unchanged. This is because Cygwin includes a lot of functionality in some DLLs that the EXEs depend upon; meaning that the EXEs you get out of Cygwin usually will require that the user has one or more Cygwin DLLs installed on their system (plus, some programs won't run properly unless certain Cygwin registry settings are present which means that you can't necessarily just distribute your app with the proper DLLs to end-users without dealing with that). It makes porting very east (often just a ./configure; make) but at the loss of a truly native stand-alone end result.