Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: h0oke en 22 Mayo 2010, 21:05 pm



Título: [C] - Duda salida gcc
Publicado por: h0oke en 22 Mayo 2010, 21:05 pm
A que se debe el siguiente mensaje?

Citar
gcc Agenda.c
/tmp/ccL3qioR.o: In function `main':
Agenda.c:(.text+0x7b): undefined reference to `data_new_write'
collect2: ld returned 1 exit status

Parte del code:

Código
  1. ...
  2. void data_new_write(st_p, char *, int *);
  3. ...
  4. int main(){
  5. ...
  6. data_new_write(*user, path, &e);
  7. ...
  8. }
  9. void data_write(st_p P, char *path, int *error){
  10.  FILE *f;
  11.  *error = 0;
  12.  f = fopen(path, "w+");
  13.  if(f)
  14.   fprintf(f, "%s%s%s%u", P.name, P.dir, P.phone, P.age);
  15.  else
  16.    *error = 1;
  17.  close(f);
  18. }


Título: Re: [C] - Duda salida gcc
Publicado por: Eternal Idol en 22 Mayo 2010, 21:08 pm
Mira atentamente:
void data_new_write(st_p, char *, int *);
data_new_write(*user, path, &e);
void data_write(st_p P, char *path, int *error){

¿Donde esta new en la tercera linea?


Título: Re: [C] - Duda salida gcc
Publicado por: h0oke en 22 Mayo 2010, 21:14 pm
Creo que estoy saturado.


Título: Re: [C] - Duda salida gcc
Publicado por: nicolasblues86 en 22 Mayo 2010, 21:33 pm
el prototipo de la función es este: void data_new_write(st_p, char *, int *);

pero cuando  definís su contenido pones esto:  void data_write(st_p P, char *path, int *error)


es lo mismo que pongas en el prototipo: void M (st_p, char *, int *)

y después pongas: void hola (st_p P, char *path, int *error){



 es decir no son iguales, tienen que serlo...
saludos