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

Makefile: include dentro de una cabecera [C en Linux]

Estas en el tema de Makefile: include dentro de una cabecera [C en Linux] en el foro de C/C++ en Foros del Web. Buenas, estoy haciendo un programita, el cual, un archivo.c ajeno tengo definido la lectura a un fichero de texto y lo ingresa a un vector ...
  #1 (permalink)  
Antiguo 22/10/2012, 07:58
 
Fecha de Ingreso: junio-2009
Mensajes: 84
Antigüedad: 15 años, 5 meses
Puntos: 2
Makefile: include dentro de una cabecera [C en Linux]

Buenas, estoy haciendo un programita, el cual, un archivo.c ajeno tengo definido la lectura a un fichero de texto y lo ingresa a un vector dinámico, por lo que mi archivo lectura.c tiene:

Código C:
Ver original
  1. #include "Lectura.h"
  2. #include "vectorDinamico.h"

ahí es donde está la dificultad, ya que al definir el archivo cabecera de Lectura.h, tengo esto, ya que no reconoce el puntero vector_t:

Código C:
Ver original
  1. #ifndef LECTURA_H
  2. #define LECTURA_H
  3. #include "vectorDinamico.h"
  4.  
  5. void leer(char*, vector_t*, int);
  6.  
  7. #endif

Qué comando debería ejecutar en la terminal para que compile el programa??
  #2 (permalink)  
Antiguo 26/10/2012, 01:40
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 6 meses
Puntos: 73
Respuesta: Makefile: include dentro de una cabecera [C en Linux]

Si he entendido bien, tienes un módulo de programa (Lectura.c) que utiliza funciones de otro módulo de programa (Archivo.c). Tu módulo principal es Lectura.c, entonces deberías crear un archivo "Archivo.h", que contenga las estructuras de datos, clases y prototipos de las funciones de Archivo.c que deban ser conocidos desde el otro módulo de programa, supongo que "vectorDinamico.h" contiene la definicion de vector_t, entonces seríaa algo así como

Archivo.h:
Código C:
Ver original
  1. //
  2. // Aqui vendría la definicion de vector_t
  3. //
  4. // Aqui vendrian los prototipos de las funciones de Archivo.h que se emplean en Lectura.c
  5. //

Archivo.c:
Código C:
Ver original
  1. // Archivos de cabecera normales
  2. #include ...
  3. //
  4. #include "Archivo.h"
  5. //
  6. // (Resto de Archivo.c)

Lectura.c

Código C:
Ver original
  1. // Archivos de cabecera normales
  2. #include ...
  3. //
  4. #include "Archivo.h"
  5. //
  6. // (Resto de Lectura.c)

Para compilar, si lo haces por línea de comando (no indicas compilador ni sistema operativo), sería algo así como

compila Lectura.c Archivo.c nombre_ejecutable

donde compila sería el comando con el que llamas al compilador, y nombre_ejecutable el nombre que quieres que tenga el ejecutable.

Si posteas el código, e indicas el sistema operativo y el compilador o el IDE que utilizas, las respuestas podrían ser más precisas.

Saludos,

Etiquetas: include, int, makefile, programa, cabeceras
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 16:22.