Теперь, когда я разделил классы на файлы .h и .cpp, мне нужно использовать make-файл или я все еще могу использовать команду "g ++ main.cpp"?
Компиляция нескольких файлов одновременно - плохой выбор, если вы собираетесь поместить это в Makefile.
Обычно в Makefile (для GNU / Make ) достаточно написать:
# "all" is name of the default target, running "make" without params would use it
all: executable1
# for C++, replace CC (c compiler) with CXX (c++ compiler) which is used as default linker
CC=$(CXX)
# tell which files should be used, .cpp -> .o make would do automatically
executable1: file1.o file2.o
Этот способ make
будет правильно перекомпилировать только то, что нужно перекомпилировать. Можно также добавить несколько настроек для генерации зависимостей файла заголовка - так, чтобы make также правильно перестраивал то, что нужно перестраивать из-за изменений файла заголовка.
g++ *.cpp -o output