Ahora que separé las clases en archivos .h y .cpp, ¿necesito usar un archivo MAKE o puedo seguir usando el comando "g ++ main.cpp"?
Compilar varios archivos a la vez es una mala elección si va a poner eso en el Makefile.
Normalmente en un Makefile (para GNU / Make ) debería ser suficiente escribir que:
# "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
De esa manera make
, se recompilaría correctamente solo lo que se debe volver a compilar. También se pueden agregar algunos ajustes para generar las dependencias del archivo de encabezado, por lo que make también reconstruiría correctamente lo que debe reconstruirse debido a los cambios en el archivo de encabezado.
g++ *.cpp -o output