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

Compilacion de varios programas en gcc

Estas en el tema de Compilacion de varios programas en gcc en el foro de C/C++ en Foros del Web. Hola! tengo un problema para compilar en linux con el gcc un programa. La cuestion es la siguiente: me han dado un arhivo.h que tiene ...
  #1 (permalink)  
Antiguo 18/05/2014, 14:21
 
Fecha de Ingreso: mayo-2014
Mensajes: 2
Antigüedad: 10 años, 6 meses
Puntos: 0
Pregunta Compilacion de varios programas en gcc

Hola! tengo un problema para compilar en linux con el gcc un programa. La cuestion es la siguiente: me han dado un arhivo.h que tiene prototipos de funciones y el archivo objeto (.o) de esas funciones. Lo que tengo que hacer es un programa en C que utilice el header, header que a su vez utiliza el .o . Mi duda es como compilar todo esto? cuando intento compilar mi programa en C me dice que no encuentra el .h y tampoco tengo muy claro como hacer que el .h pueda usar el .o

Espero que se entienda mi explicacion, sino diganmelo y desde ya muchas gracias.
  #2 (permalink)  
Antiguo 18/05/2014, 19:50
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 1 mes
Puntos: 38
Respuesta: Compilacion de varios programas en gcc

has incluido el header.h en main.cpp?
Código C:
Ver original
  1. //main.cpp
  2. #include...
  3. #include...
  4. #include "header.h"
  5. int main(){}

...construyes el main.o
g++ -c main.cpp

Luego enlazas los 2 .o y lo compilas.

g++ -o programa main.o objeto.o
  #3 (permalink)  
Antiguo 18/05/2014, 20:00
 
Fecha de Ingreso: mayo-2014
Mensajes: 2
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Compilacion de varios programas en gcc

tengo el main con el header.h incuido como en tu ejemplo. Cuando quiero compilar el main me dice que no encuentra el header.h
  #4 (permalink)  
Antiguo 18/05/2014, 20:08
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 1 mes
Puntos: 38
Respuesta: Compilacion de varios programas en gcc

Lo iba editar el de arriba y no pude lo dejo aqui:
Cita:
has de incluir el header.h en main.cpp así:

Código C:
Ver original
  1. //main.cpp
  2. #include...
  3. #include...
  4. #include "header.h"
  5. int main(){}

...construyes el archivo obj de main aparte main.o
gcc -c main.cpp

Luego enlazas los 2 .o y lo compilas.

gcc -o programa main.o objeto.o

o bien lo haces todo directo así:

gcc -o programa main.cpp header.o

El archivo resultante sera ejecutable llamado programa.

Es mejor que todo se encuentre en una misma carpeta sino vas a tener que poner las rutas completas y sera un coñaz.... XD
¿A ver lo tienes todos los archibos juntos?

El problema es que soy de windows =( pero es mas o menos igual.

Entra con ese comando a ver si te dice que tienes ok el compilador:
gcc -v
te tiene que devolver la version del compilador si no esta mal el path o algo falla.
  #5 (permalink)  
Antiguo 18/05/2014, 21:32
Avatar de Drewermerc  
Fecha de Ingreso: febrero-2014
Mensajes: 185
Antigüedad: 10 años, 9 meses
Puntos: 5
Respuesta: Compilacion de varios programas en gcc

hola amigo.
bueno pues ese tipo de compilacion seria asi solo es cuestio de indicarle al compilador donde esta el header y ordenar lo archivos para que los pueda compilar.

aqui te dejo un ejemplo.:
Código C:
Ver original
  1. gcc p.o -I/home/bugtraq/"carpeta de los headers" hola2.c -o hola

bueno espero que te sirva.
saludos.
Drewermerc.

Etiquetas: compilacion, compilar, linux
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 08:14.