Ahora que he separado las clases de los archivos .h y .cpp, ¿necesito usar un archivo MAKE o puedo seguir usando el comando "g ++ main.cpp"?
La compilación de varios archivos a la vez es una mala elección si va a poner eso en el archivo Makefile.
Normalmente en un Makefile (por GNU/Make) debería ser suficiente para 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
sería adecuadamente recompilar sólo lo que necesita volver a compilar. También se pueden agregar algunos ajustes para generar las dependencias del archivo de encabezado, de modo que make también reconstruya adecuadamente lo que se debe reconstruir debido a los cambios del archivo de encabezado.
Incluso puede hacer 'g ++ * .cpp -o output' – rubenvb
¿Es esto de todos modos una mala práctica? Me gustaría usar esto en mi archivo MAKE. –
@gabriel_vincent, no es necesariamente una mala práctica, pero significará que editar un archivo en un proyecto de cientos hará que el compilador rehaga todo el trabajo para todos los archivos. Compilar por separado permite la compilación incremental. –