Hola, soy nuevo en el mundo de C, estoy haciendo unas pruebas para comprobar el funcionamiento de algunas llamadas al sistema. En este momento estoy trabajando con forks y PIDs y tengo el siguiente codigo.
Código C:
Ver original[CODE]#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "error.h"
#include <sys/wait.h>
int main(){
int pidh;
printf("\n Inicio prueba \n");
if ((pidh= fork()) == 0){
fprintf(stderr
,"\n\t Soy el hijo: %d\n", getpid
()); fprintf(stderr
,"\n\t fork() me devuelve: %d\n",pidh
);
sleep(10);
}
if(wait(NULL) == -1){
syserr("wait");
}
fprintf(stdout
,"\n\t Soy el padre: %d\n", getpid
()); fprintf(stderr
,"\n\t fork() me devuelve: %d\n",pidh
);
}[/CODE]
Al intentar compilar obtengo el siguiente error:
Undefined symbols:
"_syserr", referenced from:
_main in cclPQWNM.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Estoy siguiendo un guión para la elaboración de estos programas, alguien me podría decir a que se debe el error y como solucionarlo?
Tambien me gustaría saber algo sobre el archivo "error.h" incluido en la cabecera, segun este guión tiene que estar en el directorio donde compilo, he creado ese archivo yo mismo ya que no enxiste en /usr/include/
Gracias de antemano por las respuestas.