Como instalar e configurar o GCC no Windows (MinGW)

Olá pessoal…

Hoje vou mostrar como instalar e configurar o GCC no Windows (ferramentas para compilação de fontes escritos em C / C++).


Primeiramente, se tiver alguma dúvida em como compilar ou executar algum programa utilizando GCC, recomendo a leitura dessa postagem – Como utilizar o GCC no Linux.

Baixe o MinGW acessando SourceForge, clique depois em Installer e em seguida clique em mingw-get-setup.exe, espere o download finalizar, e execute o aplicativo. Será mostrado uma tela inicial mostrando informações do Projeto.

MinGW - GCC

MinGW – GCC

Prossiga até chegar em uma tela para escolher os recursos que serão instalados, selecione mingw32-base e o mingw32-gcc-g++.

Escolhendo recursos que serão instalados

Escolhendo recursos que serão instalados

Depois disso, clique em Instalattion > Apply Changes.

Agora será necessário adicionar o diretório de binários do MinGW na Path do Windows, para isso, clique no Iniciar, e depois clique com o botão direito em Computador, e em seguida em Propriedades.

Propriedades do Sistema

Propriedades do Sistema

No lado esquerdo clique em Configurações avançadas do sistema.

Configurações Avançadas do Sistema

Configurações Avançadas do Sistema

Clique agora em variáveis de ambiente.

Variáveis de Ambiente

Variáveis de Ambiente

Ache a variável PATH, e clique em editar, no fim dela, adicione um “;” (ponto e vírgula), e coloque o diretório dos binários que foram instalados com o MinGW (geralmente em C:MinGWbin).

Adicionando caminho dos binários na PATH

Adicionando caminho dos binários na PATH

Para testar se deu certo, abra o Prompt de Comando e digite “gcc”.

Testando o GCC

Testando o GCC

Agora é só criar os fontes e compilar.

Update 21/09/2016:

Pessoal, se alguém tiver interesse, montei uma vídeo aula demonstrando a instalação do MinGW.



Links para instalação:
MinGW
MinGW 64

Bom pessoal, por hoje é só.
Abraços e até a próxima.

Referência: Instalando o Mingw/GCC (compilador de C para Windows)

Dan Atilio (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

91 Responses

  1. Douglas Carvalho da Silva disse:

    Não esta funcionando aqui, na hora de mudar a variável PATH, o ela esta com essa descrição:
    “C:\Users\DOUGLAS\AppData\Local\Programs\Python\Python35-32\Scripts\;C:\Users\DOUGLAS\AppData\Local\Programs\Python\Python35-32\”
    Devo apagar tudo e colar? ou posso adicionar após isso? e também uso o pydev, será que se alterar não terei problemas no eclipse pra programação Python?

    OBRIGADO DESDE JA 🙂

  2. michelle disse:

    Amigo, estou com um problema recente. Após atualização do MInGW, ao compilar um programa, aparece o erro cannot find -lpthread. Você pode me ajudar? Obrigada

  3. Isadora disse:

    No windows 10 não acho a variável PATH, somente TEMP e TMP… Em qual delas eu faço a alteração?

  4. Camila disse:

    Dan, seguindo o seu tutorial e outros que vi na internet o erro foi você não ter dito que após escolhermos os dois pacotes a serem instalados, deve-se ir em Installation -> Apply Changes para que estes pacotes sejam de fato instalados na máquina. Após isso, mexendo na variável de ambiente funciona

  5. Mateus Santos Rocha disse:

    Boa noite!
    Fiz tudo conforme o site, mas quando digito gcc no prompt de comando aparece que ‘gcc’ não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes.
    como proceder?

  6. Richard disse:

    Nossa Cara,a muito obrigado, ajudou demais

  7. Johny Cesar disse:

    Quando eu digito gcc no cmd aparece a seguinte mensagem ” gcc: fatal error: no input files compilation terminated.” O que eu faço?

    • Dan_Atilio disse:

      Boa tarde Johny, tudo bem?
      Faltou você especificar qual é o arquivo e qual será o executável, tente assim:

      gcc [seu_arquivo.c] -o [executavel]

      Por exemplo:

      gcc arquivo.c -o arquivo_exe

      Um grande abraço.

  8. Irene disse:

    Bom dia. Seguindo as instruções acima, instalei o https://sourceforge.net/projects/mingw-w64/ pois meu computador e 64 bits – windows 10. Modifiquei a variavel path com este valor C:\Program Files (x86)\mingw-w64\i686-6.2.0-posix-dwarf-rt_v5-rev1\mingw32\bin; pois e ai que o gcc.exe se encontra. Mesmo assim me da a mensagem:
    gcc’ is not recognized as an internal or external command,
    operable program or batch file.

    Como proceder? Antigamente instalei o Mingw normal, dava o mesmo erro e por isso passei a instalar o mingw-w64 seguindo um dos seus posts. Sera que ha qualquer incompatibilidade? (embora as instalacoes estao em diretorios diferentes…)
    Agradeco qualquer ajuda.

    • Dan_Atilio disse:

      Boa tarde Irene, tudo bem?
      Que estranho, não tive esse problema, mas realize um teste por favor, tente executar o gcc diretamente pela pasta no Prompt de Comando, por exemplo:

      > C:\MinGW\mingw64\bin\gcc "D:\teste.c" -o "D:\teste.exe"

      Onde você informa o caminho que está o gcc.exe, seguido pelo diretório do código fonte entre aspas, o -o de output (da saída), e o caminho do executável gerado entre aspas.
      E me diga se assim funcionou.
      Fico no aguardo.

  9. Joao Carlos Machado disse:

    Boa tarde!

    Estou compilando um código onde utiliza esses 2 includes,
    #include
    #include

    É estou recebendo msg de erro!

  10. Ediharlly Santos disse:

    [Windows 10] Quem possuir Windows 10 e estiver tendo problema ao digitar gcc no prompt de comando a dica que dou é, conforme o Dan falou, procurar a Path, depois ao invés de editar, crie uma nova com o endereço onde está o arquivo que geralmente é C:\MinGW\bin, ai depois é só testar …. prompt e digitar gcc

  11. João henrique disse:

    Não consigo compilar nada utilizando vetores, tem alguma biblioteca faltando?

  12. Paulo disse:

    Boa noite Dan, cara, seguinte :

    Na hora de colocar o ; no Patch, acabei apagando todo o diretório existente.

    Agora no local do patch, ta ” ;C:MinGWbin “.

    Sabe alguma forma que posso recuperar o antigo endereço ? Agradeço desde ja !

  13. Danilo disse:

    Como faço pra o gcc ficar em pt-br utf-8 é por que assim eu uso notepad++ e gcc mas a acentuação das letras nas frases quando programo em C não saem direito já usei setlocale(LC_ALL, “Portuguese”); corretamente mas não sai e quando está numa IDE como devC++ ou Code Blocks sai direito as IDEs parecem setar o compilador pro idioma do sistema eu queria saber como fazer isso você poderia por favor me ajudar, caso possa??? já tentei de tudo e nada eu sei que tem a forma decimal da tabela ascii mas queria mesmo era deixar setado o locale do sistema e não sei como fazer isso.

    • Dan_Atilio disse:

      Boa noite Danilo, tudo bem?
      Nunca havia reparado nisso, e como não costumo usar o Notepad++ também nunca tinha pego um caso assim.
      Estranho que algumas pessoas dizem que dá certo ao usar o setlocale, e outras já dizem o contrário, por exemplo, em duas referências, achei recomendações para utilizar a tabela ascii mesmo. Caso queira saber mais:
      http://www.hardware.com.br/comunidade/linguagem-setlocale/1417074/
      http://codigoseficientes.blogspot.com.br/2012/10/acentuacao-na-linguagem-c.html

      Abraços.

      • Danilo disse:

        Dan_Atilio?, como vai ? boa noite!!! sou eu o Danilo de novo, passando só pra dizer que consegui deixar a acentuação em C correta usando editor notepad++ e gcc no prompt do windows o que tava acontecendo era que eu não estava deixando a codificação em ANSI e sim em utf-8 quando deixei em ANSI e usei o setlocale no código C funcionou de boa passei só pra compartilhar a informação mesmo caso alguém se depare com algo similar ao meu caso, vou deixar pra usar IDE só quando eu estiver com bastante experiência em C, e , referente aos dois links que você me passou aí no comentário eu já tinha consultado eles antes mesmo de você me passar quando tava em busca de resolver esse pequeno infortúnio de unicode, mas mesmo assim obrigado e vou ficar atento aos links quando for estudar a fundo sobre setlocale e a forma decimal para acentuação de caracteres.

  14. Angel disse:

    Muuuuuito obrigada!
    Quebrou um galho 😀

  15. Lucas Terada disse:

    Olá, gostaria de saber como criar bibliotecas usando o mingw. A intenção é dar um #include “biblioteca.h”. Outra dúvida é com relação a compilação de programas em c++ ocorreu um problema com a chamada da biblioteca iostream.

    • Dan_Atilio disse:

      Boa noite Lucas, tudo bem?
      Você pode criar uma biblioteca normalmente com o bloco de notas, e salvar dentro da pasta de includes do MinGW, no meu caso, na minha máquina estava em C:\MinGW\mingw64\x86_64-w64-mingw32\include .
      Um grande abraço.

  16. Bryan disse:

    Bom dia,

    Consegui fazer tudo certo e compilar os códigos, mas uma coisa que acontece é que a janela do prompt fecha depois de eu inserir as entradas no scanf, e quando ela fecha eu não consigo ver a saída do programa (o printf), poderia me ajudar?

    Esse é o código que eu estou tentando:

    #include

    int main() {
    double a;
    double b;
    double c;
    double media;
    scanf(“%lf” , &a);
    scanf(“%lf” , &b);
    scanf(“%lf” , &c);
    media = ((a*2)+(b*3)+(c*5))/10;
    printf(“MEDIA = %.1lf\n”, media);
    return 0;
    }

    Depois que eu insiro os 3 números fecha a janela.

    • Dan_Atilio disse:

      Bom dia Bryan.
      Você teria que forçar o usuário a pressionar o Enter no final, abaixo um exemplo:

      #include <stdio.h>
      
      int main() {
      char fim;
      double a;
      double b;
      double c;
      double media;
      
      printf("Insira A: ");
      scanf("%lf" , &a);
      
      printf("Insira B: ");
      scanf("%lf" , &b);
      
      printf("Insira C: ");
      scanf("%lf" , &c);
      
      media = ((a*2)+(b*3)+(c*5))/10;
      printf("MEDIA = %.1lf\n", media);
      
      printf("Pressione -Enter- para finalizar");
      scanf("%c" , &fim);
      getchar();
      
      return 0;
      }
      

      Abraços.

  17. MARCOS TIAGO FERREIRA HENRIQUES disse:

    me salvou mano

  18. Lindembergh Ferreira disse:

    Olá! Eu coloquei certinho o caminho “C:\MinGW\bin” e até criei uma nova Path, mas nenhum funcionou, aparece decerto: ‘gcc’ não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes.

    Eu não entendo!! Era pra está configurado. Alguém sabe o que é??

  19. Ventura disse:

    Olá pessoal, não consigo o download do 64 bits, “the file has been downloaded incorrectly”, alguem ajuda aee…

  20. Pedro disse:

    Valeu cara, eu consegui certinho!

  21. Caio César disse:

    Estava usando o Code Blocks mas não conseguia compilar (estava sem compilador no computador mas não conseguia instalar nenhum). Com sua postagem consegui instalar o gcc e agora o programa está funcionando normalmente! Muito obrigado mesmo!

  22. Rafaela disse:

    Boa tarde, não estou conseguindo instalar o minGW-W64. A mensagem que aparece é que o mesmo foi baixado errado. Precisava dessa versão no code::blocks, pois estou programando com C++14.
    Conseguiria saber do porque desse problema? Agradeço .

  23. Saula disse:

    Obrigada pelo tutorial, me ajudou muito!

  24. Outra dica interessante para os que estão adicionando o caminho correto nas variáveis do sistema e ainda assim está dando erro. No meu caso havia mais de um caminho dentro da Path e eu estava adicionando ao final de um deles mesmo com o ; e ainda dava erro. Então o que fiz foi criar uma nova linha de caminho dentro da Pathe deu certo!

  25. Bruna disse:

    Bom dia,

    Fiz a instalação como você descreveu. Meu problema é que não estou conseguindo abrir o compilador.
    Tipo, depois de feitos todos os passos que você indicou, como abro o compilador para começar a escrever meu programa?

    Obrigada desde já.

  26. Luca Dominguez Alonso Ferreira disse:

    boa noite, na hora da minha instalação, dá um erro dizendo que o download foi feito de forma errada! se puder me ajudar, agradeço

  27. Jeferson Thomaz disse:

    Não funcionou cara…
    Eu olhei na pasta do C:, ta tudo lá, direitinho, mas quando testo no CDM só aparece que não é reconhecido como um comando.

  28. Dan,

    sabes alguma bibliote DOM para C++ ?

  29. Clecio disse:

    Boa noite, eu to com um problema que quando fui instalar o mingw 64x, ele veio como um arquivo zip, e dentro do arquivo zip n consegui achar o executável do programa, pode me ajudar nisso?

  30. francisco gomes disse:

    Dan Atilio o botão verde esta fazendo nos baixar o projeto do mingw64

    vou deixar um passo a passo de como resolvi:

    1- baixar uma versão anterior do mingw64 do link do comentario do Dan Atilio

    2- descompactar o download em uma pasta que voce vai saber onde fica

    3- configurar a variavel de ambiente adicionando o caminho de onde você deixou a pasta que descompactou

    4- compilar seu primeiro programa em c

    5- gcc vai mostrar um erro que falta dll no seu pc

    6 – dentro da pasta que voce descompactou tem uma pasta chamada lib, lá estão as dll que o gcc mostrou

    7- pegar apenas a dll que está faltando dentro desta pasta e colocar dentro da pasta c:/windows/system

    8- quando for compilar programas em c++ não usar o gcc e sim o g++

  31. Thaynan disse:

    Boa tarde! Onde posso encontrar para realizar o download do “Apply Changes”? Ou ele se encontra no próprio MinGW? Agradeço a ajuda DAN!

  32. Thaynan disse:

    Ola Dan! Consegui o “Apply Chances”. Mas estou com enorme problema. O meu professor me pediu para que fosse instalado o MinGW e o Visual Studio Code. Fiz a instalação do MinGW passo a passo como está no seu conteúdo disponibilizado. Contudo o MinGW não esta funcionando no Visual Studio Code. O que acontece é que não estou encontrando a biblioteca do MinGW no Visual Studio Code.

  33. Thaynan disse:

    Ola Dan! Consegui o “Apply Chances”. Mas estou com enorme problema. O meu professor me pediu para que fosse instalado o MinGW e o Visual Studio Code. Fiz a instalação do MinGW passo a passo como está no seu conteúdo disponibilizado. Contudo o MinGW não esta funcionando no Visual Studio Code. O que acontece é que não estou encontrando a biblioteca do MinGW no Visual Studio Code. Teria como me ajudar? O meu sistema operacional é o Windows 7.

  34. Roger Lopes disse:

    Eu tive ao executar o arquivo.
    Disse que eu não tinha os arquivos em limbming e outros pra realizar a função.

  35. Roger Lopes disse:

    Boa noite, o problema meio que se auto resolveu, mas agora eu tenho um diferente dilema.
    Quando eu coloco o comando gcc teste.c -o teste_exe
    O prompt diz que o arquivo não existe

    • Bom dia.
      Certo, o primeiro parâmetro logo após o gcc, é o arquivo.
      Então se você estiver no caminho C:\Users\{seu usuário}>, ele vai procurar o arquivo dentro dessa pasta.
      O ideal é que antes de compilar, você já deixe definido na pasta que esta o arquivo .c, por exemplo, se estiver na pasta C:\aulas\, você usa o comando cd “C:\aulas\”.

  36. Gabriele disse:

    Tenho uma roland camm-1cx 24 mas não consigo configurar a porta p ela , ei consegui instala ela mas o PC não a reconhece
    E ajuda

Deixe uma resposta