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.