windows - online - tag id3
make:*** No hay regla para hacer target ''all''. Detener. Error de eclipse (5)
Acabo de descargar el kit de desarrollo Eclipse CDT (87MB) para Windows. También he instalado MinGW, y msys. También agregué esto a PATH: C: / msys / 1.0 / bin; C: / mingw / bin. y reinicie la computadora después de eso. He comprobado por tipo "make --version" en cmd y funciona.
Sin embargo, por alguna razón no puedo compilar mi proyecto de C. No obtengo archivos binarios y solo tengo las siguientes cosas en COnsole:
**** Build of configuration Default for project XXX ****
make all
make: *** No rule to make target `all''. Stop.
¿Podría alguien ayudarme con esto por favor?
Debes echar un vistazo a tu makefile (o crear uno si falta). Ese es el makefile por defecto:
CXXFLAGS = -O2 -g -Wall -fmessage-length=0
OBJS = main.cpp
LIBS =
TARGET = main.exe
$(TARGET): $(OBJS)
$(CXX) -o $(TARGET) $(OBJS) $(LIBS)
all: $(TARGET)
clean:
rm -f $(OBJS) $(TARGET)
Para futuras referencias, si está intentando importar un proyecto existente con un makefile ...
Este mensaje seguirá apareciendo si su makefile no tiene una regla de "todos". Usar la opción "Generar Makefiles automáticamente" debería encargarse de esto automáticamente. Si no desea que los archivos make sean hechos para usted, tiene al menos 3 opciones simples ...
Opción 1
Si no quiere usar una regla con ese nombre, use la solución de twokats. Aquí hay una aclaración.
- Vaya a Propiedades del proyecto -> Compilación C / C ++ -> Ficha Comportamiento.
- Deje la compilación (construcción incremental) marcada.
- Elimine "todos" del cuadro de texto al lado de Construir (Compilación incremental).
Esto le permite a Eclipse saber que no estás tratando de usar un objetivo make llamado "all". Por alguna razón, ese es el predeterminado.
opcion 2
Use algo similar al archivo make de Etiennebr. Tenga en cuenta que la línea all: $(TARGET)
es la regla que Eclipse se queja de que no puede encontrar.
Opcion 3
Sustituya "todos" con un nombre de regla de su elección y asegúrese de incluir esa regla en su archivo make.
Pasé mucho tiempo en este error y ahora me di cuenta de que los proyectos que no se compilan se crearon antes de instalar MinGW y msys, por lo que no había ningún makefile antes. Y no había ninguna carpeta de inclusión con enlace al makefile. Esa es la razón por la que no pude compilarlo. Ahora que creo un nuevo proyecto, está bien.
Sin embargo, me pregunto si hay alguna manera de agregar la ruta de acceso al makefile para los proyectos anteriores.
Gracias
Solo para su referencia, hay una manera de configurar las opciones de compilación de CDT. Recibí este mismo mensaje de error (aunque sí tenía un objetivo de marca - no se llamaba "todos") y encontré esta solución (para Galileo + CDT):
Haga clic derecho en su proyecto y elija Propiedades . Aparecerá el cuadro de diálogo Propiedades y debería ver una opción de compilación de C / C ++ donde puede configurar opciones de compilación específicas. Resalte este elemento y aparecerá la página Propiedades. Elija la configuración que desea modificar y luego, en la sección a continuación, debería ver 2 pestañas: Configuración y comportamiento del generador . Es la pestaña Comportamiento que deseas. En esta sección puede configurar las preferencias para la configuración de compilación y la configuración del entorno de trabajo, incluida la especificación de un nombre de destino (el valor predeterminado es "todo") o desactivar las compilaciones automáticas.
Esto fue de gran ayuda para mí cuando comencé a usar el CDT. Mi código fuente está separado del área de compilación, y hasta que yo configure, no existen archivos make. Cuando configuré, mi nombre de destino predeterminado es explícitamente "predeterminado", no "todo". Era molesto que Eclipse informara un error en mi proyecto antes de hacer algo. Configurar el entorno para que coincida con mi desarrollo funcionó de maravilla. HTH.
haga clic derecho en el proyecto Propiedades-> Compilación C / C ++, en la "Configuración del generador", marque la opción "Generar Makefiles automáticamente", y luego seleccione la opción "Tipo de generador" a "Generador interno", y luego haga clic en Aceptar, el problema era resuelto