El compilador no lo sabe. Tu tienes por ejemplo los siguientes archivos:
Entonces lo que haces es esto (en la consola):
Y luego ejecutas tu programa HolaMundo.
Como te habras dado cuenta, tu le dices explicitamente al compilador y enlazador que es lo que debe hacer.
Lo que produce confusion, es que los IDEs hacen todo esto por si solos y uno ni se entera! Por eso prefiero usar automake creando yo mismo los makefiles o pedirle a alguien que construya las ordenes con SCons. Espero se haya entendido.
Saludos.
- Main.cpp
- HolaMundo.cpp
- HolaMundo.h
Entonces lo que haces es esto (en la consola):
Código [Seleccionar]
g++ -c Main.cpp -o Main.o
g++ -c HolaMundo.cpp -o HolaMundo.o
ld -zmuldefs -o HolaMundo Main.o HolaMundo.o
Y luego ejecutas tu programa HolaMundo.
Como te habras dado cuenta, tu le dices explicitamente al compilador y enlazador que es lo que debe hacer.
Lo que produce confusion, es que los IDEs hacen todo esto por si solos y uno ni se entera! Por eso prefiero usar automake creando yo mismo los makefiles o pedirle a alguien que construya las ordenes con SCons. Espero se haya entendido.
Saludos.