Programación General > C/C++

 Re: TAD

<< < (5/5)

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

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa