Я сейчас изучаю C ++. Мне нужен make-файл, который скомпилирует все файлы cpp в текущем каталоге в отдельные исполняемые файлы. Например:
В каталоге есть 3 файла c ++, таких как examp1.cpp, examp2.cpp и examp3.cpp . Я хочу make-файл, который скомпилирует и свяжет их и выдаст examp1.exe, examp2.exe и examp3.exe
Я создал скрипт bash, чтобы скомпилировать их все и создать exe, но я думаю; это не точный способ сделать это.
У меня есть Makefile для ".c", но, похоже, он здесь не работает. Это только создание объектных файлов, а не их связывание. Это выглядит следующим образом:
SRCS=$(wildcard *.c)
OBJS=(SRCS:.c=.o)
all: $(OBJS)
Приведенный выше код компилирует все новые и измененные файлы ".c" в файлы ".o" с тем же именем в текущем каталоге.
Сценарий bash, который я использую для создания исполняемых файлов, выглядит следующим образом:
for i in ./*.cpp
do
g++ -Wno-deprecated $i -o `basename $i .cpp`".exe"
done
Это означает, что мне нужны все файлы ".cpp", которые я помещаю в этот каталог, с помощью простого "make all" или чего-то подобного, которое он должен компилировать.