
Estoy trabajando en cygwin. La mayoría de los comandos de Unix funcionan bien. También puedo compilar con g++ y gcc, pero aparece el siguiente error cuando ejecuto make:
/cygdrive/b/tpm/src
$ make -f makefile.mak
"c:/program files/mingw/bin/gcc.exe" -Wall -Wnested-externs -ggdb -O0 -c -
DTPM_WINDOWS -I"c:/program files/MinGW/include" -I"c:/program
files/openssl/include" -I../utils -I. -DNO_BIT_FIELD_STRUCTURES AlgorithmCap.c -o AlgorithmCap.o
make: *** [makefile.mak:85: AlgorithmCap.o] Error 1
Tenga en cuenta que descargué el paquete make y agregué el contenedor a la ruta.
Respuesta1
El error principal se muestra en esta línea:
$ make -f makefile.mak "c:/archivos de programa/mingw/bin/gcc.exe" -Wall -Wnested-externs -ggdb -O0 -c -
Este error muestra que cygwin make
encuentra la ruta del compilador de C, es decir, $(CC)
en C:\Program Files\mingw\bin\gcc.exe
. Aquí OP instaló mingw y cygwin ambos en la misma máquina. Cuando el instalador correspondiente instala cygwin y mingw, agrega la /bin
carpeta en %PATH%
la variable de entorno del sistema. Por lo tanto, en el momento de la compilación, cygwin make
toma la primera gcc.exe
ruta que está en el directorio mingw y aparece el error.
Para eliminar la confusión de la ruta, la %PATH%
variable de entorno debe configurarse correctamente. Encuentre más detalles sobre cómo editar variables de entorno en los enlaces a continuación. Aquí doy un esquema simple. Abra el cuadro de diálogo Ejecutar con Win+ R. Escríbelo control.exe
y presiona Enter. Vaya a Sistema y seguridad > Sistema > Configuración avanzada del sistema > Variables de entorno > Variables del sistema > Ruta.
Haga doble clic en la variable "Ruta". Puede ver una ventana "Editar variable de entorno". Elimina los dos caminos C:\cygwin
y C:\Program Files\mingw\bin
con Deleteclave.
Ahora cree dos archivos por lotes, uno cygwin.bat y mingw.bat. Se puede hacer en un archivo, simplemente lo hago simple. Copie las siguientes líneas en los archivos por lotes correspondientes. Los comandos configurarán el entorno para compilar.
- Para cygwin:
@echo off
C:
chdir C:\cygwin\bin
C:\cygwin\bin\bash.exe --login -i
- Para mingw:
@echo off
set PATH=C:\Program Files\mingw\bin;%PATH%
cmd /k