Копирование всех cpp-файлов в Makefile с помощью терминала VSCode не работает

#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)