What is the difference between the different GCC on Cygwin, and which one to install?

The names are quite clear to me:

  • cygwin32-gcc-g++ is a compiler for 32 bit cygwin
  • gcc-g++ is the basic 64 bit compiler (you probably must install this one).
  • mingw-gcc-g++ is a 32 bit compiler for native 32 bit Windows
  • mingw64-x86_64-gcc-g++ is a 64 bit compiler for native 64 bit Windows
  • mingw64-i686-gcc-g++ is a 64 bit compiler for native 32 bit Windows

So it all depends if you run in a 64 bit Windows and what target you want (cygwin or native Windows).