2010-06-04 15 views
8

He instalado Cygwin en mi sistema. Pero cuando trato de utilizar el comando gcc que dice:ejecutando gcc en cygwin

bash: gcc: command not found

¿Alguien puede proporcionar la solución, por favor?

Respuesta

2

Un par de cosas:

  • Siempre instalar todo el paquete Cygwin. Las versiones anteriores tenían problemas con dependencias que ahora están solucionadas, creo, pero sigue siendo un buen hábito. Nunca se sabe cuándo necesitarás la parte más esotérica de Cygwin.

  • Es posible que tenga que cambiar su ruta. Todas las herramientas generalmente se pueden encontrar bien si se está ejecutando dentro del shell bash de Cygwin, pero ese no es necesariamente el caso del cmd.exe.

Es poco probable que sea esto último ya su mensaje de error proviene de bash en sí, así que estoy bastante seguro de que es lo que lo está funcionando.

Tenga una mirada a asegurarse de que tiene /usr/bin/gcc desde dentro bash y que su ruta incluye /usr/bin alguna parte:

pax> echo $PATH 
/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS 

pax> which gcc 
/usr/bin/gcc 

Si no está ahí, volver atrás y volver a instalar todo (o el paquete de desarrollo es relevante si no quieres todo). Si está allí y su ruta no tiene su ubicación, cambie su ruta, ya sea en /etc/profile o su equivalente en su directorio de inicio.

3

Esto podría deberse a que falta el prefijo del compilador.

Por defecto, la mayoría de los archivos MAKO buscarán gcc.exe. Si está utilizando un compilador diferente, digamos i686-pc-mingw32-gcc.exe, entonces make no lo encontrará a menos que usted lo indique. Usted puede hacer algo como

PREFIX=i686-pc-mingw32- 

make CC=${PREFIX}gcc 

Using Linux Binaries

16

En mi instalación no había genérica gcc comando tampoco, así que hice un enlace simbólico para que:

cd /usr/bin 
ln -s i686-pc-cygwin-gcc-3.4.4.exe gcc 

Ahora compruebe si ha funcionado haciendo which gcc que debería darle /usr/bin/gcc y luego gcc debería darle gcc: no input files. Tenga en cuenta que su versión de i686-pc-cygwin-gcc-3.4.4.exe puede ser diferente. Compruebe en/usr/bin para ello.

4

Puede ser durante la instalación de Cygwin que no ha seleccionado gcc, gdb y hace paquetes. Intente seguir los pasos indicados en este enlace Resolving gcc command not found. Que tu problema se resuelva

Tuve el mismo problema y se resolvió utilizando los pasos mencionados anteriormente.

+1

El enlace está muerto, si puede realizar los pasos pertinentes si todavía los tiene. – Nathan

0

Otro problema relacionado que no se mencionó aquí, es que desde la línea de comandos el compilador necesita la variable de ruta de entorno actualizada para encontrar la ubicación de los archivos de cabecera de C++. En Windows, puede actualizar el entorno de ruta utilizando la GUI de "propiedades avanzadas del sistema" y agregar la ubicación de los archivos de inclusión de C++. Esto actualizará la variable de entorno PATH en Windows cmd & Cygwin automáticamente al reiniciar el shell.

Para actualizar su RUTA de Linux o el tipo de shell Cygwin ... RUTA = $ RUTA:/su_ruta_aquí Ejemplo: RUTA = $ RUTA: /cygdrive/c/cygwin/lib/gcc/i686-pc-mingw32/4.7 .3/include/C++ También es una buena idea agregar solo el directorio de inclusión también: PATH = $ PATH: /cygdrive/c/cygwin/lib/gcc/i686-pc-mingw32/4.7.3/include/ ... o verifique los directorios adecuados para la ubicación de los archivos de inclusión de su instalación. Recomiendo instalar mingw para su uso con Cygwin, que se envuelve con g ++.

para instalar paquetes adicionales necesarios en Cygwin re-ejecutar la utilidad de instalación de Cygwin & verificación de la instalación desde Internet para agregar paquetes de los repositorios web y añadir MinGW-gcc-g ++ & MinGW-binutils. Para compilar su código: g ++ hello.cpp -o hello

Si utiliza la utilidad gcc compile en su lugar con el comando: gcc hello.cpp -o hello -lstdC++ ... para obtener su ejecutable.

Siempre que tenga instalado gcc o mingw y la ruta de acceso a los archivos de inclusión de C++ esté en su entorno de ruta, los comandos funcionarán.

0

Hay otra difícil de detectar error también podría causar este error,

Si el Makefile utiliza como variable de PATH, el error gcc not found podría suceder.
Esto se debe a que cambia la ruta del sistema temporalmente.

Me tomé mucho tiempo revisar la configuración del entorno cygwin para descubrir esto, así que lo dejaré aquí en caso de que esto ayude a cualquiera a encontrar su camino hasta aquí.