Foros del Web » Programación para mayores de 30 ;) » C/C++ »

problema con makefile

Estas en el tema de problema con makefile en el foro de C/C++ en Foros del Web. Buenas! Tengo un problemilla con el compilado de un programa con makefile. Se trata de un servidor web, antes implementaba todo el sistema en un ...
  #1 (permalink)  
Antiguo 09/05/2013, 12:20
 
Fecha de Ingreso: noviembre-2012
Mensajes: 14
Antigüedad: 11 años, 6 meses
Puntos: 0
problema con makefile

Buenas!
Tengo un problemilla con el compilado de un programa con makefile.
Se trata de un servidor web, antes implementaba todo el sistema en un único fichero, pero como es muy largo decidí separar las clases en distintos ficheros y no doy encontrado la forma de hacer el makefile para que lo compile, a ver si alguien puede echarme un cable.

El makefile antes del cambio era
Código C++:
Ver original
  1. servidor: thread.cc thread.h
  2.     g++ servidor.cc thread.cc -I. -o servidor -lpthread

Ahora intento implementar algo así:
Código C++:
Ver original
  1. all : servidor http
  2.  
  3. servidor: thread.cc
  4.     g++ servidor.cc thread.cc -I. -o servidor -lpthread
  5.  
  6. http: claseHTTP.cc
  7.     g++ -g -c claseHTTP.cc -o http
  8.  
  9. ejecutable: servidor http
  10.     g++ servidor http all

Gracias por adelantado!
  #2 (permalink)  
Antiguo 09/05/2013, 12:22
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 11 años, 10 meses
Puntos: 28
Respuesta: problema con makefile

Has conseguido compilarlo por terminal?
  #3 (permalink)  
Antiguo 09/05/2013, 12:52
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 4 meses
Puntos: 46
Respuesta: problema con makefile

Buenas, tienes que incluir el header al lado del archivo que lo requiere. Como me explico fatal te envio un ejemplo de la propia pagina de GNU:
http://www.gnu.org/software/make/man...-Makefile.html

Es para C, pero no creo que cueste mucho adaptarlo a C++.
  #4 (permalink)  
Antiguo 09/05/2013, 16:08
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 1 mes
Puntos: 228
Respuesta: problema con makefile

Código C:
Ver original
  1. all : ejecutable
  2.  
  3. servidor.o: servidor.cc
  4.     g++ -c servidor.cc  -I.  -lpthread
  5.  
  6. thread.o: thread.cc
  7.     g++ -c thread.cc  -I.  -lpthread
  8.  
  9. claseHTTP.o: claseHTTP.cc
  10.     g++ -g -c claseHTTP.cc
  11.  
  12. ejecutable: servidor.o claseHTTP.o thread.o
  13.     g++ servidor.o claseHTTP.o   thread.o  -o servidor

Cada archivo ".cc" se compila a codigo objeto por separado (con la opcion -c). Eso te genera un archivo con extesion .o por cada .cc que tenes.

Despues tenes que linkear todos los .o en un solo comando, que es la linea de ejecutable.

Espero que se entienda,

Saludos

Etiquetas: int, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:30.