¿Cómo instalar gcc en una máquina con Windows 7?

119

Tengo MinGW en mi máquina con Windows 7. Deseo instalar y usar gcc completo para el compilador C. Descubrí que no existe un único archivo de instalación precompilado y listo para usar para este propósito. Revisé la siguiente página: http://gcc.gnu.org/install/ Es difícil y lo encuentro por encima de mi nivel de comprensión. ¿Alguien podría proporcionarme una guía paso a paso junto con los enlaces?

KawaiKx
fuente

Respuestas:

97

EDITAR Desde no tan recientemente, MinGW-w64 ha "absorbido" uno de los proyectos de construcción de cadenas de herramientas. Las descargas se pueden encontrar aquí . El instalador debería funcionar y permitirle elegir la versión que necesita.

Tenga en cuenta que el Qt SDK viene con la misma cadena de herramientas. Entonces, si está desarrollando en Qt y usando el SDK, simplemente use la cadena de herramientas que viene con.

Otra alternativa que tiene cadenas de herramientas actualizadas proviene de ... harhar ... un desarrollador de Microsoft, nada menos que STL (Stephan T. Lavavej, ¡no es ese un nombre perfecto para el mantenedor de MSVC ++ Standard Library!). Puedes encontrarlo aquí . Incluye Boost.

Otra opción que es muy útil si te preocupas por las dependencias precompiladas es MSYS2 , que proporciona un shell Unix (una bifurcación Cygwin modificada para funcionar mejor con los nombres de ruta de Windows y demás), también proporciona un GCC. Por lo general, se retrasa un poco, pero eso se compensa con su buen sistema de administración de paquetes y su estabilidad. También proporcionan un Clang funcional con libc ++ si le interesa tal cosa.

Dejo lo siguiente como referencia, pero recomiendo encarecidamente no utilizar MinGW.org, debido a las limitaciones que se detallan a continuación. TDM-GCC (la versión MinGW-w64) proporciona algunos trucos que pueden resultarle útiles en su situación específica, aunque recomiendo usar Vanilla GCC en todo momento para una máxima compatibilidad.


Actualmente, dos proyectos proporcionan GCC para Windows. Ambos proporcionan una implementación propia del SDK de Windows (encabezados y bibliotecas) que es necesaria porque GCC no funciona con archivos de Visual Studio.

  1. El antiguo mingw.org, al que @Mat ya te señaló. Proporcionan solo un compilador de 32 bits. Vea aquí las descargas que necesita:

    • Binutils es el enlazador y compilador de recursos, etc.
    • GCC es el compilador y se divide en paquetes de idioma y núcleo
    • GDB es el depurador.
    • la biblioteca en tiempo de ejecución es necesaria solo para mingw.org
    • Es posible que deba descargar mingw32-make por separado.
    • Para obtener soporte, puede probar (no espere respuestas amistosas) [email protected]

    Alternativamente, descargue mingw-get y utilícelo.

  2. El mingw-w64 más nuevo, que como su nombre predice, también proporciona una variante de 64 bits y, en el futuro, con suerte, algo de soporte ARM. Lo uso y construí cadenas de herramientas con su CRT. Las compilaciones personales y automáticas se encuentran en "Cadenas de herramientas dirigidas a Win32 / 64" aquí . También proporcionan compiladores cruzados de Linux a Windows. Te sugiero que pruebes primero una construcción personal, son más completas. Pruebe el mío (rubenvb) para GCC 4.6 a 4.8, o use sezero para GCC 4.4 y 4.5. Ambos proporcionamos cadenas de herramientas nativas de 32 y 64 bits. Estos paquetes incluyen todo lo enumerado anteriormente. Actualmente recomiendo las compilaciones "MinGW-Builds", ya que actualmente están aprobadas como "compilaciones oficiales" y vienen con un instalador (ver arriba).

    Para soporte, envíe un correo electrónico a [email protected] o publique en el foro a través de sourceforge.net.

Ambos proyectos tienen sus archivos listados en sourceforge, y todo lo que tiene que hacer es ejecutar el instalador (en el caso de mingw.org) o descargar un paquete comprimido adecuado y extraerlo (en el caso de mingw-w64).

Hay muchos creadores de cadenas de herramientas "no oficiales", uno de los más populares es TDM-GCC. Pueden usar parches que rompan la compatibilidad binaria con cadenas de herramientas oficiales / sin parches, así que tenga cuidado al usarlos. Es mejor usar los lanzamientos oficiales.

rubenvb
fuente
6
su respuesta parece ciertamente completa, pero no la entiendo todo. muchos de los términos en su respuesta son nuevos para mí. Mi intención es obtener el compilador gcc c, enlazador, archivos de encabezado y archivos de biblioteca. He descargado su compilación personal para GCC 4.6. ahora que hago ahora? por favor tolere conmigo :-)
KawaiKx
9
@Saurabh: no hay problema, traté de ser correcto en términos de palabras. Ahora extrae el paquete, por ejemplo, a C:` so that C: \ mingw64 \ bin` (o C: \ mingw32 \ bin ) contains gcc.exe . Then, open a cmd.exe command prompt, and execute set PATH = C: \ mingw64 \ bin;% PATH% `. Entonces podrá llamar a mingw32 -make, gcc, gdb, etc. desde esa línea de comandos. Los programas que lo usan (como cmake, Qt Creator, Codeblocks) también lo necesitan en PATH. En caso de que necesite un cambio de PATH del sistema / usuario, vaya a Panel de control-> Sistema -> Avanzado-> Variables de entorno, y agregue o modifique PATH allí.
rubenvb
1
hecho eso. está funcionando bien. muchas gracias ... ¿por qué hay tanta molestia en la instalación del compilador gcc en la máquina de Windows? ¿No estaba destinado originalmente para la plataforma x86?
KawaiKx
4
Hay como máximo 4-5 desarrolladores preocupados por GCC / binutils para Windows. Hacen un gran trabajo, pero dejan que la comunidad entregue sus herramientas. No entiendo mal aquí: TDM ha existido durante mucho tiempo y proporciona un instalador útil, pero no envía parches en sentido ascendente debido a problemas de derechos de autor. Codeblocks ofrece una cadena de herramientas MinGW con el IDE, al igual que Qt. Pero ninguno de ellos ofrece 64 bits :). La construcción de GCC en sí requiere un entorno Unix, como Cygwin / MSYS, o incluso mejor: Linux. El proceso de construcción no es sencillo. Pero no es muy complicado instalarlo una vez que sepa qué hacer.
rubenvb
1
@rubenvb, noté que Mingw64 ahora tiene un instalador que te permite seleccionar cosas. ¿Es esta una idea peor que conseguir una construcción personal?
batbrat
26

Descargue mingw-get y simplemente emita:

mingw-get install gcc.

Consulte la página de introducción .

Estera
fuente
2
esta instalación no instala la biblioteca C estándar de gcc .. en su lugar usa msvcr ***. a. ¿porque? ¿Es porque la biblioteca C estándar de gcc contiene códigos de objeto destinados a chips que no son x86?
KawaiKx
3
porque el puerto MinGW de GCC en Windows usa la biblioteca C estándar de Windows. Si desea usar otra biblioteca C, mire cygwin (usa newlib). No estoy seguro de que tengas mucha suerte con GLIBC en Windows (tampoco veo el punto).
Mat
1
¿Qué quiere decir exactamente con "puerto MinGW de GCC en Windows"? lo siento, puede sonar estúpido pero soy nuevo en estos términos ..
KawaiKx
2
Eso significa la versión de GCC producida por MinGW para ejecutarse y apuntar a entornos de Windows.
Mat
11
  1. Extraiga el paquete a C: \ desde aquí e instálelo

  2. Copie la ruta C:\MinGW\binque contiene gcc.exe.

  3. vaya a Control Panel->System->Advanced>Environment variablesy agregue o modifique PATH. (solo concatenar con ';')

  4. Luego, open a cmd.exe command prompt(Windows + R y escriba cmd, si ya está abierto, cierre y abra uno nuevo, para obtener el cambio de ruta)

  5. cambie la carpeta a su ruta de archivo por cd D:\c code Path

  6. tipo gcc main.c -o helloworld.o. Compilará el código. paraC++ use g++

7 escriba ./helloworldpara ejecutar el programa.

Si falta zlib1.dll, descárguelo desde aquí

Vinoj John Hosan
fuente
6

Siguiendo la respuesta de Mat (use Cygwin), aquí hay algunas instrucciones detalladas para: instalar gcc en Windows Los paquetes que desea son gcc, gdb y make. El instalador Cygwin le permite instalar paquetes adicionales si los necesita.

Michaelok
fuente
Instalé Cygwin y los paquetes necesarios. También verifiqué desde la línea de comandos de Windows que gcc, gdb y make son accesibles. ¡Pero aún así la instalación de la gema de rieles falla con el mismo error! ¿Alguien ha probado Cygwin y Rails en Windows con éxito?
Vishal Biyani
Además, cuando ejecuto gccel símbolo del sistema, se me niega el acceso, no estoy seguro de por qué
Vishal Biyani
3
Hoy en día, probablemente optaría por algo como VirtualBox de Oracle ( virtualbox.org ) o VMWare en lugar de Cygwin. Entonces puede ejecutar ambos sistemas operativos en la misma máquina. En cuanto a Rails, ¿ha probado Rails Installer? railsinstaller.org
michaelok
Gracias por el consejo @michaelok, lo intentaré con seguridad
Vishal Biyani
Tampoco pude encontrarlo, así que lo actualicé a la página principal de Cygwin. Lo complicado del instalador es asegurarse de seleccionar los paquetes correctos. De las instrucciones, que tienen esto que decir sobre gcc: "De forma predeterminada, setup.exe instalará solo los paquetes en la categoría Base y sus dependencias, lo que resultará en una instalación mínima de Cygwin. Sin embargo, esto no incluirá muchas herramientas de uso común como como gcc (que encontrará en la categoría Devel) "
michaelok
1

Utilizo msysgit para instalar gcc en Windows, tiene un buen instalador que instala casi todo lo que pueda necesitar. La mayoría de los desarrolladores necesitarán algo más que el compilador, por ejemplo, el shell, las herramientas del shell, make, git, svn, etc. msysgit viene con todo eso. https://msysgit.github.io/

editar: ahora estoy usando msys2. Msys2 utiliza pacmandesde Arch Linux para instalar paquetes e incluye tres entornos para crear aplicaciones msys2, aplicaciones nativas de 32 bits y aplicaciones nativas de 64 bits. (Probablemente desee crear aplicaciones nativas de 32 bits).

https://msys2.github.io/

También puede ir a full-monty e instalar code :: blocks o algún otro editor de interfaz gráfica de usuario que venga con un compilador. Prefiero usar vim y hacer.

Sam Watkins
fuente
¿Msysgit todavía funciona para usted? Esa URL redirige a Git para Windows, donde no veo ninguna mención de gcc. Tuve mala suerte con Git para Windows, pero esa puede ser otra historia. También está el mensaje "msysGit ha sido reemplazado por Git para Windows 2.x"
Bob Stein
Ahora estoy usando msys2 en lugar de msysgit. msys2.github.io Actualicé mi respuesta.
Sam Watkins