#c #visual-studio-code #makefile
#c #visual-studio-code #makefile
Вопрос:
Я пытаюсь создать Makefile в VS Code, но я не хочу терять время на запись всех .cpp-файлов, которые у меня есть.
Решение для этого, которое работает в Unix,
echo *.cpp > Makefile
Однако, когда я пытаюсь использовать эту командную строку в терминале VS code, она не работает. Я получаю *.cpp
в свой Makefile
Комментарии:
1. Это не может работать как есть в UNIX. Это дает вам файл с именем
Makefile
, содержащий список исходных файлов… но это недопустимый makefile. В любом случае «терминал VS code» — это Windows cmd.com или оболочка powershell, и она полностью отличается от оболочки UNIX, и те же команды там не работают.
Ответ №1:
Пример создания файла:
NAME = my_project
IDIR = include/
IDIR_MY = ./include
CC = g
CFLAGS = -I $(IDIR) -I $(IDIR_MY)
CFLAGS = -W -Wall -Wextra
SRCS_DIR = src/
SRCS_FILES = *.cpp
SRCS = $(addprefix $(SRCS_DIR), $(SRCS_FILES))
OBJS = $(SRCS:.cpp=.o)
RM = rm -f
all: $(NAME)
$(NAME): $(OBJS)
$(CC) -o $(NAME) $(OBJS)
gdb: $(OBJS)
$(CC) -g -o debug ./*.cpp -I $(IDIR)
clean:
$(RM) $(OBJS)
fclean: clean
$(RM) $(NAME)
re: fclean all
и на обед это говорит просто «make» в вашем термине
Комментарии:
1. у вас никогда не было никакого
.o
файла, так зачем зависеть от$(OBJS)