Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/03/2011, 13:14
gregory7885
 
Fecha de Ingreso: marzo-2011
Ubicación: Seseña
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
Pregunta Inclusion de .h en main.c

Buenas, tengo un pequeño problema con la inclusion de archivos de cabecera en mi programa.

El codigo del main.c es este:
Código:
#include <stdio.h>      // La libreria de entrada/salida
#include <stdlib.h>     // La libreria estandar de C
#include <string.h>     // La libreria de tratamiento de cadenas de caracteres
#include "Cargador.h"	//Clase creada por nosotros que se encarga de la gestion del tablero

int main(int argc, char** argv){
	if(argc>=2)
		cargar(argv[1]);
	else
		cargar("default.cfg");
	return 0;
}
Como podeis ver hago un #include "Cargador.h" que es otro archivo donde tengo el resto del codigo.

En este caso es este:
Código:
#include <stdio.h>      // La libreria de entrada/salida
#include <stdlib.h>     // La libreria estandar de C
#include <string.h>     // La libreria de tratamiento de cadenas de caracteres
#include <malloc.h>
#include <ctype.h>
#ifndef CARGADOR_H_
#define CARGADOR_H_
typedef struct{
	int ancho,alto,linea;
	#define min_puertas 1;
} Puerta;
typedef struct {
	int ancho,alto,puntuacion,linea;
} Tesoro;
typedef struct {
	int ancho,alto,linea;
} Enemigo;
typedef struct {
	int ancho1,alto1,ancho2,alto2,linea;
} Muro;
typedef struct {
	int ancho,alto,linea;
} Roca;
typedef struct {
	int ancho,alto,linea;
} Dimensiones;
typedef struct {
	int error_linea;
	int cod_error;
} Estruc_error;
typedef struct {
	Dimensiones * dimension;
	Puerta * puertas;
	Tesoro * tesoro;
	Enemigo * enemigo;
	Muro * muro;
	Roca * roca;
	Estruc_error * errores;
	int con_P,con_T,con_E,con_M,con_R,con_Err;
} Tablero;

void menu(Tablero * tablero);
void cargar(char* nombre);
void liberarTablero(Tablero * tablero);
void generaEnemigo(char* linea,int cont,Tablero * tablero);
void generaTesoro(char* linea,int cont,Tablero * tablero);
void generaMuro(char* linea,int cont,Tablero * tablero);
void generaRoca(char* linea,int cont,Tablero * tablero);
void generaPuerta(char* linea,int cont,Tablero * tablero);
void procesar_linea(char* linea,int cont,Tablero * tablero);
void limpiar();
void generaDimensiones(char* linea,int cont,Tablero * tablero);
void generaError(int cod,int cont,Tablero * tablero);
#endif /* CARGADOR_H_ */
Actualmente utilizo eclipse para programar y hay no me da error ni warning pero cuando lo hago desde la consola de ubuntu 10.10 me da el siguiente error:

Código:
/home/xxxx/workspace/pacman/main.c:39: undefined reference to `cargar'
/home/xxxx/workspace/pacman/main.c:41: undefined reference to `cargar'
Sin embargo si en el main cambio el include y lo hago del archivo Cargador.c no me da error en la consola de Ubuntu y si en la de Eclipse, ¿Como puedo solucionar esto? a lo mejor es un error de novato, pero es mi primer programa en C y estoy un poco verde.

Agradeceria cualquier tipo de ayuda o referencia acerca de este error, saludos.