Ich habe versucht, eine richtige Makefile für eine Weile jetzt zu machen, aber ich bekomme immer den Fehler "make: *** Keine Regel, um Ziel` all 'zu machen. Stop. "makefile - make: *** Keine Regel, um das Ziel alle zu machen. Stop
i ein Hauptprogramm habe: mpasswdsort.c und die c-Datei weicht von mpasswdsort verwendet wird, kommt es mit einem Kopf auch: list.c und list.h
meine Make-Datei:
CC=gcc
CFLAGS=-Wall -pedantic -ansi
all: mpasswdsort
server: mpasswdsort.o list.o
$(CC) mpasswdsort.o list.o -o mpasswdsort
mpasswdsort.o: mpasswdsort.cpp
$(CC) $(CFLAGS) mpasswdsort.cpp
list.o: list.cpp
$(CC) $(CFLAGS) list.cpp
clean:
rm -f server client *.o core
Ich bin nicht sicher, ob es in der Makefile falsch ist oder wenn die Makefil nicht eine TXT-Datei sein soll.
Wie @JohnBollinger sagte - wie lautet der Name Ihres Makefile (und was sind die Berechtigungen)? – KevinDTimm
Auch Ihr Makefile sagt 'all' umfasst' mpasswdsort', aber Sie haben keine Regel für 'mpasswdsort' – KevinDTimm
Und das ist wahrscheinlich ein Fehler, @KevinDTimm, aber nicht * notwendigerweise * one. Wenn 'make' einen Weg finden kann,' mpasswdsort' über eine seiner eingebauten Regeln zu erstellen, ist es nicht notwendig, einen expliziten zu erstellen. In diesem Fall würde es versuchen, es aus 'mpasswdsort.o' zu bauen, wofür es eine explizite Regel zum Bauen gibt. Ich schätze, das würde wahrscheinlich nicht verlinken, aber die Diagnose würde sich sehr von den in der Frage dargestellten unterscheiden. –