¿Cómo puedo solucionar el error de gmake (e=2) en Mingw64?
Obtengo un error extraño al compilar en Mingw64. Intenté agregar la ubicación de mi instalación de ExtraPutty. Sin éxito. Ejecutando GNU Make 3.81. Mi archivo makefile es bastante sencillo. ¿Algún idea?
INCDIR = inc/pvt inc/pub
SRCDIR = src
OBJDIR = obj
LIBDIR = lib
CC=gcc
CFLAGS := $(foreach d, $(INCDIR), -I$d) -fmax-errors=3 -std=c11
_SRC = main.c
_OBJ := $(subst $(SRCDIR),$(OBJDIR),$(_SRC:%.c=%.o))
OBJ := $(patsubst %,$(OBJDIR)/%,$(_OBJ))
test: $(OBJ)
$(CC) -o $@ $^ $(CFLAGS)
$(OBJDIR)/%.o: $(SRCDIR)/%.c
@mkdir -p $(OBJDIR)
$(CC) -c -o $@ $< $(CFLAGS)
$(OBJ): $(DEPS)
.PHONY: clean
clean:
-rm -r $(OBJDIR)/*
Aquí está el error completo que estoy obteniendo:
$ make
gcc -c -o obj/main.o src/main.c -Iinc/pvt -Iinc/pub -fmax-errors=3 -std=c11
process_begin: CreateProcess(NULL, gcc -c -o obj/main.o src/main.c -Iinc/pvt -Iinc/pub -fmax-errors=3 -std=c11, ...) failed.
make (e=2): El sistema no puede encontrar el archivo especificado.
make: *** [obj/main.o] Error 2
davy.ai
Parece que el problema es que mingw no puede encontrar el compilador gcc. Asegúrate de tener gcc instalado correctamente y añadido a la variable de entorno PATH de tu sistema. Además, verifica que tu instalación de mingw esté actualizada y sea compatible con tu versión de gcc. También puedes intentar ejecutar make con la bandera de verbosidad (
make V=1
) para obtener más información sobre el error.