como instalar o gcc na máquina windows 7?

119

Eu tenho MinGW na minha máquina Windows 7. Desejo instalar e usar o gcc completo para o compilador C. Descobri que não há um único arquivo de instalação pré-compilado para esse fim. Verifiquei a seguinte página: http://gcc.gnu.org/install/ É difícil e acho que estou acima do meu nível de entendimento. Alguém poderia me fornecer orientações passo a passo, juntamente com links?

KawaiKx
fonte

Respostas:

97

EDIT Desde recentemente, o MinGW-w64 "absorveu" um dos projetos de construção de cadeias de ferramentas. Os downloads podem ser encontrados aqui . O instalador deve funcionar e permitir que você escolha uma versão que você precisa.

Observe que o Qt SDK vem com a mesma cadeia de ferramentas. Portanto, se você estiver desenvolvendo no Qt e usando o SDK, use o conjunto de ferramentas que ele acompanha.

Outra alternativa que possui cadeias de ferramentas atualizadas vem de ... harhar ... um desenvolvedor da Microsoft, que não seja STL (Stephan T. Lavavej, não é um nome pontual para o mantenedor da MSVC ++ Standard Library!). Você pode encontrá-lo aqui . Inclui Boost.

Outra opção que é altamente útil se você se preocupa com dependências pré-construídas é o MSYS2 , que fornece um shell Unix (um garfo Cygwin modificado para funcionar melhor com nomes de caminho do Windows e outros), também fornece um GCC. Geralmente fica um pouco atrasado, mas isso é compensado por seu bom sistema de gerenciamento de pacotes e estabilidade. Eles também fornecem um Clang funcional com libc ++, se você se importa com isso.

Deixo o abaixo como referência, mas sugiro fortemente que não seja usado o MinGW.org, devido às limitações detalhadas abaixo. O TDM-GCC (versão MinGW-w64) fornece alguns hacks que você pode achar úteis em sua situação específica, embora eu recomende o uso do vanilla GCC em todos os momentos para obter compatibilidade máxima.


O GCC para Windows é fornecido por dois projetos atualmente. Ambos fornecem uma implementação muito própria do Windows SDK (cabeçalhos e bibliotecas), necessária porque o GCC não funciona com arquivos do Visual Studio.

  1. O mingw.org mais antigo, para o qual o @Mat já apontou. Eles fornecem apenas um compilador de 32 bits. 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) [email protected]

    Como alternativa, faça o download do mingw-get e use-o.

  2. O mingw-w64 mais recente, que como o nome prediz, também fornece uma variante de 64 bits e, no futuro, esperamos que algum suporte a ARM. Eu o uso e construo cadeias de ferramentas com seu CRT. Compilações pessoais e automáticas são encontradas em "Cadeias de ferramentas direcionadas ao Win32 / 64" aqui . Eles também fornecem compiladores cruzados do Linux para o Windows. Eu sugiro que você tente uma compilação pessoal primeiro, eles são mais completos. Experimente o meu (rubenvb) para o GCC 4.6 a 4.8, ou use sezero's para o GCC 4.4 e 4.5. Nós dois fornecemos cadeias de ferramentas nativas de 32 e 64 bits. Esses pacotes incluem tudo listado acima. Atualmente, recomendo as compilações "MinGW-Builds", pois atualmente são sancionadas como "builds oficiais" e vêm com um instalador (veja acima).

    Para obter suporte, envie um email para [email protected] ou poste no fórum via sourceforge.net.

Ambos os projetos têm seus arquivos listados no sourceforge, e tudo o que você precisa fazer é executar o instalador (no caso do mingw.org) ou fazer o download de um pacote zipado adequado e extraí-lo (no caso do mingw-w64).

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.

rubenvb
fonte
6
sua resposta parece certamente completa, mas eu não entendo tudo. muitos termos na sua resposta são novos para mim. Minha intenção é obter o compilador gcc c, vinculador, arquivos de cabeçalho e arquivos de biblioteca. Fiz o download da sua versão pessoal para o GCC 4.6. agora o que eu faço a seguir? por favor tolerar comigo :-)
KawaiKx
9
@Saurabh: não há problema, tentei estar correto em termos de palavras. Agora você extrai o pacote para, por exemplo, C:` so that C: \ mingw64 \ bin` (ou C: \ mingw32 \ bin ) contains gcc.exe . Then, open a cmd.exe command prompt, and execute define PATH = C: \ mingw64 \ bin;% PATH% `. Em seguida, você poderá chamar mingw32 -make, gcc, gdb, etc a partir dessa linha de comando.Os programas que o utilizam (como cmake, Qt Creator, Codeblocks) também precisam dele no PATH. Caso você precise de uma alteração de sistema / PATH em todo o usuário, vá em Painel de Controle-> Sistema -> Advanced-> As variáveis de ambiente, e adicionar ou modificar PATH lá.
rubenvb
1
Fiz isso. está funcionando bem. muito obrigado .. por que há tanto aborrecimento na instalação do compilador gcc na máquina windows? não foi originalmente concebido para a plataforma x86?
KawaiKx
4
Existem no máximo 4-5 desenvolvedores preocupados com o GCC / binutils para Windows. Eles fazem um ótimo trabalho, mas deixam para a comunidade a entrega de suas ferramentas. Não entenda errado aqui: o TDM existe há muito tempo e fornece um instalador útil, mas ele não envia correções a montante devido a problemas de direitos autorais. Codeblocks fornece uma cadeia de ferramentas MinGW com o IDE, assim como o Qt. Mas nenhum deles fornece :) de 64 bits. Construir o próprio GCC requer um ambiente Unix, como Cygwin / MSYS, ou ainda melhor: Linux. O processo de construção não é simples. Mas não é muito fácil instalar uma vez que você sabe o que fazer.
rubenvb
1
@ Rubenvb, notei que o Mingw64 agora tem um instalador que permite escolher coisas. Esta é uma ideia pior do que obter uma construção pessoal?
batbrat
26

Faça o download do mingw-get e simplesmente emita:

mingw-get install gcc.

Consulte a página Introdução .

Esteira
fonte
2
esta instalação não instala a biblioteca C padrão do gcc. em vez disso, usa o msvcr ***. a. Por quê então? é porque a biblioteca C padrão gcc contém códigos de objeto destinados a chips não x86?
KawaiKx
3
porque a porta MinGW do GCC no Windows usa a biblioteca C padrão do Windows. Se você quiser usar outra biblioteca C, consulte cygwin (usa newlib). Não tenho certeza se você terá muita sorte em obter o GLIBC no Windows (também não entendo muito bem).
Mat
1
o que você quer dizer com "porta MinGW do GCC no Windows" exatamente? Desculpe, pode parecer estúpido, mas eu sou novo para estes termos ..
KawaiKx
2
Isso significa a versão do GCC produzida pelo MinGW para executar e direcionar ambientes do Windows.
Mat
11
  1. Extraia o pacote para C: \ daqui e instale-o

  2. Copie o caminho C:\MinGW\binque contém o gcc.exe.

  3. vá para Control Panel->System->Advanced>Environment variablese adicione ou modifique PATH. (apenas concatene com ';')

  4. Em seguida, open a cmd.exe command prompt(Windows + R e digite cmd, se já estiver aberto, feche e abra um novo para alterar o caminho)

  5. altere a pasta para o caminho do arquivo cd D:\c code Path

  6. tipo gcc main.c -o helloworld.o. Ele irá compilar o código. paraC++ use g++

7 digite ./helloworldpara executar o programa.

Se o zlib1.dll estiver ausente, faça o download aqui

Vinoj John Hosan
fonte
6

Seguindo a resposta de Mat (use Cygwin), aqui estão algumas instruções detalhadas para: instalação do gcc no Windows Os pacotes que você deseja são gcc, gdb e make. O instalador do Cygwin permite instalar pacotes adicionais, se você precisar deles.

michaelok
fonte
Eu instalei o Cygwin e os pacotes necessários. Também verifiquei na linha de comando do Windows que gcc, gdb e make são acessíveis. Mas ainda a instalação do gem trilhos falha com o mesmo erro! Alguém já experimentou o Cygwin e Rails no Windows com sucesso?
Vishal Biyani
Além disso, quando eu corro gccno prompt de comando, eu tenha acesso negado, não sei porquê
Vishal Biyani
3
Atualmente, eu provavelmente usaria algo como o VirtualBox da Oracle ( virtualbox.org ) ou o VMWare em vez do Cygwin. Em seguida, você pode executar os dois sistemas operacionais na mesma máquina. Quanto ao Rails, você já experimentou o Rails Installer? railsinstaller.org
michaelok
Obrigado pela @michaelok ponta, vai tentar que com certeza
Vishal Biyani
Também não encontrei, então atualizei para a página principal do Cygwin. O que é complicado no instalador é ter certeza de que você está selecionando os pacotes certos. Nas instruções, que tem a dizer sobre o gcc: "Por padrão, o setup.exe instalará apenas os pacotes na categoria Base e suas dependências, resultando em uma instalação mínima do Cygwin. No entanto, isso não incluirá muitas ferramentas comumente usadas, como como gcc (que você encontrará na categoria Devel) "
michaelok 4/14/14
1

Eu uso o msysgit para instalar o gcc no Windows, ele tem um bom instalador que instala quase tudo o que você precisa. A maioria dos desenvolvedores precisará mais do que apenas o compilador, por exemplo, o shell, ferramentas de shell, make, git, svn, etc. O msysgit vem com tudo isso. https://msysgit.github.io/

editar: agora estou usando o msys2. O Msys2 usa pacmando Arch Linux para instalar pacotes e inclui três ambientes para criar aplicativos msys2, aplicativos nativos de 32 bits e aplicativos nativos de 64 bits. (Você provavelmente deseja criar aplicativos nativos de 32 bits.)

https://msys2.github.io/

Você também pode usar o monty completo e instalar o code :: blocks ou algum outro editor de GUI que vem com um compilador. Eu prefiro usar vim e make.

Sam Watkins
fonte
O msysgit ainda funciona para você? Esse URL é redirecionado para o Git for Windows, onde não vejo menção ao gcc. Tive azar com o Git para Windows, mas isso pode ser outra história. Também há a mensagem "msysGit foi substituído pelo Git para Windows 2.x"
Bob Stein
Agora estou usando o msys2 em vez do msysgit. msys2.github.io Atualizei minha resposta.
Sam Watkins