Ich weiß, dies ist eine Commong-Abfrage, aber ich habe Stunden damit verbracht, vorherige Antworten zu betrachten, aber bin immer noch ratlos. Ich habe keine große Erfahrung mit Makefiles und finde es schwierig, den Beispielen zu folgen.Makefile Verzeichnis Verwendung
Ich habe folgende Make-Datei:
CC=g++
CFLAGS=-c -Wall
LDFLAGS= -lSDL2 -lSDL2_image -lSDL2_ttf
SOURCES=main.cpp hello.cpp factorial.cpp
OBJS=$(SOURCES:%.cpp=%.o)
EXECUTABLE=hello
FULLOBJS = $(addprefix obj/,$(OBJS))
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJS)
$(CC) $(LDFLAGS) $(OBJS) -o [email protected]
.cpp.o:
$(CC) -MD -I. $(CFLAGS) $< -o [email protected]
clean:
-rm -rf $(OBJS) $(EXECUTABLE) $(OBJS:%.o=%.d)
-include $(OBJS:%.o=%.d)
Welche arbeitet als Ich mag würde. Es wäre jedoch noch besser, wenn ich die .h .cpp .o- und .b-Dateien übersichtlich in/header// source/und/object/relative-Unterverzeichnisse organisieren könnte. Könnten Sie mir bitte erklären, wie es geht?
Vielen Dank
Möchten Sie separate Ordner für .h, .cpp, .o erstellen und den Pfad zu diesen Ordnern hinzufügen? – CroCo
Ja wenn möglich. Ich nehme an, dass es einen besseren Weg gibt, als die Pfadzeichenfolgen für jede Datei separat anzugeben. Und ich nehme auch an, dass es eine Möglichkeit gibt, alle .o und .d Dateien, die von dem Makefile erstellt werden, in einem angegebenen Verzeichnis zu platzieren. – user7119460