我的makefile没有找到我的包含路径

Jas*_*ich -1 c++ gcc makefile include-path

简单地说:它没有找到包含路径:

CC = g++
OBJS = *.o #*/*.o

DEBUG = -g
PNAME = game
INCLUDES = -Iheaders

CFLAGS = -Wall $(DEBUG)
LFLAGS = -Wall -lsfml-graphics -lsfml-window -lsfml-system $(DEBUG)

all: build

build: $(OBJS)
    $(CC) $(LFLAGS) $(OBJS) -o $(PNAME)

clean:
    \rm *.o *~ $(PNAME)

.cpp:
    $(CC) $(CFLAGS) $(INCLUDES) -c $(.SOURCE)
Run Code Online (Sandbox Code Playgroud)

Oli*_*rth 5

你的makefile看起来很糟糕.首先,您可能想要:

OBJS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
Run Code Online (Sandbox Code Playgroud)

其次,你的最终规则需要更像:

%.o: %.cpp
    $(CC) $(CFLAGS) $(INCLUDES) -c $^ -o $@
Run Code Online (Sandbox Code Playgroud)