Programación General > C/C++
Re: TAD
Nagisa:
Veamos... Ya se que me vais a llamar pesao, pero es que no me hago con ello.
Supongamos, y ya dejo de lado los TADS, que tengo un conjunto de funciones que quiero agrupar en un paquete. Segun lo que me habeis dicho deberia de escribir algo asi:
Areas.h :
# ifndef AREAS <----- Para evitar las inclusiones recursivas y eso...
# define AREAS
int area_rect(int , int); <------ Cabecera de mi funcion
# endif
Areas.c :
# include "areas.h" <----- Hago referencia al .h
int area_rect(int base, int altura){ <------- Mi super funcion
return base * altura;
}
Llegados a este punto escribo, en ventanita de MS-DOS, por supuesto:
gcc -Wall -c areas.c
y me sale el .o en el escritorio (vamos, donde debe). Asi que supongo que hasta aqui todo esta bien
Ahora, y es donde falla, intento importar mi paquete. Para ello hago:
prueba.c :
# include "areas.h" <------ Importo mi paquete
# include <stdio.h> <------ stdio para sacar el resultado por pantalla
int main(){
printf("El area de un rectangulo de base %d y altura %d es : %d\n", 5, 8, area_rect(5,8)); <---- Llamada a mi funcion
return 0;
}
Ahora COMPILO, pero no enlazo mi programa con
gcc -Wall -c prueba.c
y tambien me sale el .o en el escritorio
y a continuacion creo el programa con
gcc -Wall -o prueba.exe prueba.c
y me dice algo tan bonito como:
C:\DOCUME~1\ALEJAN~1\CONFIG~1\Temp\cca012121.o(.text+0x4d):prueba.c: undefined reference to 'area_rect'
Y si pongo
gcc -Wall -o prueba.exe prueba.c
me pone mas o menos lo mismo:
prueba.o(.text+0x4d):prueba.c: undefined reference to 'area_rect'
La verdad es que he seguido lo que me habeis dicho al pie de la letra, y no tengo ni idea de lo que le pasa. Tambien lo he intentado con los parametros que me ha dicho QliX=D!, pero el resultado es el mismo.
desorden:
Prueba ésto:
--- Código: Text --- gcc areas.o prueba.o
Nagisa:
:lol: :lol: :lol: Vale, ya me funciona!! Muchas gracias!!! :lol: :lol: :lol:
Navegación
[*] Página Anterior
Ir a la versión completa