Esta é a minha compreensão da relação entre MinGW e MSYS.
Ao instalar o MinGW e sua toolchain gcc
, a instalação do MSYS é opcional.
Com o MSYS instalado, você obtém bash
e algumas outras ferramentas que eu suponho devem ser usadas com o MinGW gcc
que você acabou de instalar. No entanto, quando você executa o script em lotes MSYS que abre um bash
shell, gcc
não está no seu PATH
. Neste ponto, você faz uma das duas coisas:
gcc
na categoria MSYS. Você pensa: "Eu já não instalei o gcc?" Você espera que o pacote seja baixado e retorna ao shell bash
do MSYS. Você corre gcc --version
e vê que é uma versão antiga de gcc
de dez anos atrás. Você então faz a coisa abaixo, se perceber que é uma opção. OR
echo $PATH
, para descobrir que C:\MinGW\bin
está em seu caminho, mas C:\MinGW\bin
não está montado. Você adiciona o comando mount
adequado ao seu ~/.profile
e fica feliz em descobrir que a versão recente do gcc
fornecida pelo MinGW agora está no seu PATH
. Por que MinGW e MSYS têm versões separadas de gcc
? Por que o usuário não tem acesso à versão recente do gcc
fornecida pelo MinGW imediatamente dentro do MSYS? Eu não uso o Windows com muita freqüência, e eu estava tentando usar MinGW e MSYS para ensinar meu irmão C. Eu não queria estar usando uma versão do gcc
de dez anos atrás. Esse comportamento foi desconcertante.