[C con Clase] Compilacion de programas desde varios fuentes

Programante programante en gmail.com
Dom Sep 2 00:18:14 CEST 2007


richard sandes escribió:
>
> Estimados,
>
> mi duda es la siguiente.
> Yo tengo varios archivos fuentes, suponemos:
>
> Arbol.h,Arbol.cpp
>
> Lista.h,Lista.cpp
>
> Pila.h, Pila.cpp.
>
> y mi programa principal "programa1".
>
> Bien, para compilar "programa1" lo que tengo que hacer es:?
> (desde cygwin, es)
>
>  
> gcc Arbol.cpp -o Arbol.o
> gcc Lista.cpp -o Lista.o
> gcc Pila.cpp -o Pila.o
> gcc programa1.cpp
Casi. Si haces gcc Lista.cpp -o Lista.o estará intentando crearte un 
ejecutable con extensión .o
Lo que queremos es crear un archivo objeto, por lo que hay que añadirle 
el flag -c Sino encontrarás problemas de enlazado (con main, por ejemplo).


gcc -c Arbol.cpp -o Arbol.o
gcc -c Lista.cpp -o Lista.o
gcc -c Pila.cpp -o Pila.o
gcc -c programa1.cpp -o programa1.o
gcc Arbol.o Lista.o Pila.o programa1.o -o programa1



O también puede compilar todos los dicheros fuente a la vez:
gcc Arbol.cpp Lista.cpp Pila.cpp programa1.cpp -o programa1

O el método rápido de compilar todo (suponiéndo que tienes todo en la 
misma carpeta):
gcc *.cpp -o programa1

El primer método es el mejor desde el punto de vista de que si sólo 
modificas uno de los archivos, sólo tienes que generar su .o y el 
enlazado. No hace falta compilar los otros módulos (una compilación 
completa en proyectos grandes puede ser muuy larga). Este es el proceso 
que siguen (automatizan) los Makefiles






Más información sobre la lista de distribución Cconclase