O GCC para Windows é fornecido por dois projetos atualmente. Ambos fornecem uma implementação muito própria do SDK do Windows (cabeçalhos e bibliotecas), necessária porque o GCC não funciona com arquivos do Visual Studio.
O mingw.org mais antigo, que o @Mat já apontou para você. Eles fornecem apenas um compilador de 32 bits e a versão mais recente é o GCC 4.5 até o momento da redação deste documento. Veja aqui os downloads necessários:
- Binutils é o vinculador e o compilador de recursos etc.
- O GCC é o compilador e é dividido em pacotes principais e de idioma
- GDB é o depurador.
- biblioteca de tempo de execução é necessária apenas para mingw.org
- Pode ser necessário fazer o download do mingw32-make separadamente.
- Para obter suporte, você pode tentar (não espere respostas amigáveis) mingw-users@lists.sourceforge.net
O mingw-w64 mais recente, que como o nome prediz, também fornece uma variante de 64 bits. É superior em todos os aspectos ao número 1 acima. Você pode instalar com um instalador ou encontrar os arquivos da cadeia de ferramentas para 32 e 64 bits . Como alternativa, você pode usar o MSYS2, que fornece uma enorme quantidade de pacotes binários pré-construídos, instaláveis por meio de um gerenciador de pacotes, pacman. Observe que as cadeias de ferramentas MSYS2 funcionam bem fora do shell do MSYS; usá-lo apenas como gerenciador de pacotes é possível. Uma terceira opção é usar os pacotes MinGW da Qt, que vêm com uma cadeia de ferramentas. Para obter suporte, envie um email para mingw-w64-public@lists.sourceforge.net ou o fórum via sourceforge.net.
Existem muitos construtores de ferramentas "não oficiais", um dos mais populares é o TDM-GCC. Eles podem usar patches que quebram a compatibilidade binária com cadeias de ferramentas oficiais / sem patches, portanto, tenha cuidado ao usá-las. É melhor usar os lançamentos oficiais (ou, no caso do mingw-w64, as compilações do Personal são mais fáceis de começar).
Re outra resposta: Cygwin / MSYS! = GCC. O uso do GCC não requer o outro. Os usuários comuns não devem compilar o GCC. Esse processo está comprometido e demorado. Distribuições binárias suficientes flutuando ...