Я новичок в make-файлах и хочу сохранить все мои объектные файлы в своем собственном каталоге. Я гугл много и пришел к такому решению:makefile для создания собственного каталога для объектных файлов, не работающих
CXX = clang++
# compiler flags
CXXFLAGS = -O3 -Wall -Werror -std=c++11
CFLAGS_SFML = -lsfml-graphics -lsfml-window -lsfml-system
SRCS = getInput.cpp createOutput.cpp main.cpp
OBJDIR = obj
OBJS = $(addprefix $(OBJDIR)/, SRCS:.cpp=.o)
all: program.exe
program.exe: $(OBJS)
$(CXX) $(CXXFLAGS) -o program.exe $(OBJS) $(CFLAGS_SFML)
$(OBJDIR)/%.o: %.cpp
$(CXX) $(CXXFLAGS) -c $< -o [email protected]
Когда я пытаюсь запустить сборочный файл, я получаю эту ошибку:
makefile:12: *** target pattern contains no `%'. Stop.
Кажется, эта ошибка довольно часто и не говорят подробно о том, что не так. Было бы здорово, если бы кто-нибудь мог мне помочь.
Являются ли ваши источники .c файлов или .cpp? Вы упоминаете одно в une месте, а другое несколько строк ниже – marom
Извините, это была только опечатка при написании вопроса. Это cpp – Jonas
@Jonas $ (XX) и $ (CC) также не определены в этом Makefile. – sanjay