2016-08-21 1 views
0

Ich fing gerade erst an, über GNU machen gestern zu lernen. Wie der Titel sagt, scheint das% -Zeichen in meinem Makefile nicht erkannt zu werden. Oder vielleicht benutze ich es falsch. Kann mich jemand aufklären?Makefile Prozentzeichen in Regel wird nicht erkannt

CXX = clang++ 
EXE = Invaders 

SDL = -F./lib 
LDFLAGS = $(SDL) 

SRCDIR = src 
OBJDIR = obj 

SRC = $(SRCDIR)/main.cpp $(wildcard $(SRCDIR)/util/*.cpp) $(wildcard $(SRCDIR)/misc/*.cpp) 
OBJ = $(patsubst $(SRCDIR)/%.cpp,$(OBJDIR)/%.o,$(SRC)) 

all: $(EXE) 

$(EXE): $(OBJ) 
    $(CXX) $(LDFLAGS) -o bin/[email protected] $^ 

$(OBJDIR)/%.o: $(SRCDIR)/%.cpp $(SRCDIR)/%.h 
    $(CXX) -c -o [email protected] $< 

Console Ausgabe:

make: *** No rule to make target `obj/main.o', needed by `Invaders'. Stop. 

Tree view of my entire project with directories /obj and /src expanded

Dank!

Antwort

1

Diese Regel:

$(OBJDIR)/%.o: $(SRCDIR)/%.cpp $(SRCDIR)/%.h 
    $(CXX) -c -o [email protected] $< 

nicht obj/main.o passen, weil es keine src/main.h ist.

(Bitte geben Sie auch die notwendigen Informationen in den Körper der Frage, verlassen Sie sich nicht auf einen Link zu einem Bild.)

Verwandte Themen