Error al compilar con el comando make


0

Estoy trabajando en cygwin. La mayoría de los comandos de Unix funcionan bien. También puedo compilar con g ++ y gcc, pero obtengo 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 tengo el paquete make descargado y agregué el contenedor a la ruta.


C: \ cygwin, makefile.mak, ¿quieres decir con esta opción de inclusión? (CRYPTO_SUBSYSTEM = openssl incluye makefile-common)

2
c:/program files/mingw/bin/gcc.exe no es un compilador cygwin o compilador cruzado. Estás mezclando cygwin make con un compilador no cygwin, y el no funciona.
matzeri

¿Cómo lo arreglo? Porque he instalado tanto cygwin como mingw

@Biswapriyo line 85th `$ (CC) $ (CCFLAGS) $ & lt; -o $ @ `

@Biswapriyo C: \ Archivos de programa \ Archivos comunes \ Oracle \ Java \ javapath; C: \ Windows \ system32; C: \ Window s; C: \ Windows \ System32 \ Wbem; C: \ Windows \ System32 \ WindowsPowerShell \ v1. 0 \; c: / archivos de programa / mingw / bin, c: /programfiles/mingw/bin/gcc.exe; C: \ gnuwin32 \ bin, C: \ ProgramFiles \ GnuWin3 \ bin; C: \ Archivos de programa \ GnuWin32 \ bin \ make.exe; C: \ cygwin \ bin;

Respuestas:


0

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 el 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 en la misma máquina. Cuando el instalador correspondiente instala cygwin y mingw agrega el /bin carpeta en %PATH% Variable del entorno del sistema. De ahí que en tiempo de compilación, el cygwin make agarra el primero gcc.exe ruta que está en el directorio mingw y aparece el error.

Para eliminar la confusión del camino, el %PATH% La variable de entorno se debe configurar correctamente. Encuentre más detalles sobre cómo editar las variables de entorno en los enlaces a continuación. Aquí te doy un esquema simple. Abrir cuadro de diálogo Ejecutar con Ganar + R . Tipo control.exe en ella y pulsa enter. Vaya a Sistema y seguridad & gt; Sistema & gt; Configuración avanzada del sistema & gt; Variables de entorno & gt; Variables del sistema & gt; Camino.

System_Variables

Haga doble clic en la variable "Ruta". Puedes ver una ventana "Editar variable de entorno". Eliminar los dos caminos C:\cygwin y C:\Program Files\mingw\bin con Borrar llave.

Edit_Path_Variable

Ahora haga dos archivos por lotes uno cygwin.bat y mingw.bat. Se puede hacer en un archivo, solo 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

Preguntas y respuestas similares:


@ bayern6 Oh, me perdí algo en mingw. Por cierto, ¿qué entorno estás usando cygwin o mingw? ¿Tienes mingw en 64 bits.
Biswapriyo

Eso no. Me refiero con make -f makefile.mak. También intenta hacer otros proyectos como mintty en GitHub.
Biswapriyo

/ cygdrive / b / tpm / src $ make -f makefile.mak "c: / archivos de programa / mingw / bin / gcc.exe" -Wall -Wnested-externs -ggdb -O0 -c -DTPM_WINDOWS -I "c: / Archivos de programa / MinGW / include "-I" c: / archivos de programa / openssl / include "-I ../ utils -I. -DNO_BIT_FIELD_STRUCTURES AlgorithmCap.c -o AlgorithmCap.o make: *** [makefile.mak: 85: AlgorithmCap.o] Error 1

imgur.com/a/EAI4ID3 ruta: C: \ Archivos de programa \ Archivos comunes \ Oracle \ Java \ javapath;% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \

Desplácese hacia abajo la sección variable del sistema. ¿Viste algún camino con "mingw"? Si no, entonces no tengo idea.
Biswapriyo
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.