
Oh, could someone explain to me the differences between cygwin and mingw32? I gather they both have something to do with using GCC and/or other GNU tools on Windows, but that's all I know.
The long answers can be found on the two projects' respective home pages: http://sourceware.cygnus.com/cygwin http://www.mingw.org The short answer goes something like this: MinGWin32 stands for "minimalist GNU-Win32" and the purpose of that project is to allow you to use GNU development tools to create native Win32 applications that don't rely on any 3rd party DLLs. In other words, if you've got yer basic Win32 program that would compile under one of the commercial compilers like Visual C++ or Borland C++, you can now use gcc to do the same. This is in contrast to the Cygwin project, which provides a kind of Unix emulation layer through the Cygwin API. Programs built on Cygwin obviously depend on the Cygwin runtime library (cygwin1.dll) and I'm not entirely clear on the licensing issues there. But the upshot is that a majority of the free software available for Unix compiles out-of-the-box under Cygwin. Several of the links from the Cygwin page are impressive lists of all the stuff that works under Cygwin with minimal or no patches to the source.