IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse C & C++ Discussion :

Erreur fichier.h manquant


Sujet :

Eclipse C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Par défaut Erreur fichier.h manquant
    Bonsoir,
    Voici mon problème, je souhaite compiler mon code source qui apparement me semble correcte avec Eclipse mais lorsque je lance la commande Build il me lance l'unique erreur suivante: sys/wait.h: No such file or directory.
    Les autres fichiers.h me semble correctement installer et je ne comprend pas pourquoi celui-ci manque. Je vous soumet également mon code-source.
    Merci d'avance


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
     
    /*
     ============================================================================
     Name        : test.c
     Author      : 
     Version     : septembre 28
     Copyright   : Your copyright notice
     Description : Shell, Ansi-style
     ============================================================================
     */
     
     
    /* en-tetes standard */
    #include <sys/types.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <unistd.h>
     
    #include <sys/wait.h>   /* pour avoir wait & co. */
    #include <ctype.h>      /* pour avoir isspace & co. */
    #include <string.h>
    #include <errno.h>      /* pour avoir errno */
     
    char ligne[4096];       /* contient la ligne d'entrée */
     
     
    void affiche_invite()
    {
      printf("> ");
      fflush(stdout);
    }
     
    void lit_ligne()
    {
      if (!fgets(ligne,sizeof(ligne)-1,stdin)) {
        /* ^D ou fin de fichier => on quittte */
        printf("\n");
        exit(0);
      }
    }
     
    /* attent la fin du processus pid */
    void attent(pid_t pid)
    {
      /* il faut boucler car waitpid peut retourner avec une erreur non fatale */
      while (1) {
        int status;
        int r = waitpid(pid,&status,0); /* attente bloquante */
        if (r<0) {
          if (errno==EINTR) continue; /* interrompu => on recommence Ã* attendre */
          printf("erreur de waitpid (%s)\n",strerror(errno));
          break;
        }
        if (WIFEXITED(status))
          printf("terminaison normale, status %i\n",WEXITSTATUS(status));
        if (WIFSIGNALED(status))
          printf("terminaison par signal %i\n",WTERMSIG(status));
        break;
      }
    }
     
    /* execute la ligne */
    void execute()
    {
      pid_t pid;
     
      /* supprime le \n final */
      if (strchr(ligne,'\n')) *strchr(ligne,'\n') = 0;
     
      /* saute les lignes vides */
      if (!strcmp(ligne,"")) return;
     
      pid = fork();
      if (pid < 0) {
        printf("fork a échoué (%s)\n",strerror(errno));
        return;
      }
     
      if (pid==0) {
        /* fils */
        execlp(ligne, /* programme Ã* exécuter */
    	   ligne, /* argv[0], par convention le nom de programme exécuté */
    	   NULL   /* pas d'autre argument */
    	   );
     
        /* on n'arrive ici que si le exec a échoué */
        printf("impossible d'éxecuter \"%s\" (%s)\n",ligne,strerror(errno));
        exit(1);
      }
      else {
        /* père */
        attent(pid);
      }
    }
     
    int main()
    {
      /* boucle d'interaction */
      while (1) {
        affiche_invite();
        lit_ligne();
        execute();
      }
      return 0;
    }

  2. #2
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    salut,

    tu es sur quel système ?
    Si *nix, est ce que le fichier sys/wait.h existe dans /usr/include (ou ailleurs) ?

  3. #3
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Et tu utilises quel compilateur ? Va voir dans les include de ton compilateur si les fichiers y sont. je crois que ce fichier n'existe pas sous le système Windows.

Discussions similaires

  1. Message d'erreur : Fichier verrou trop important !
    Par chasseur37 dans le forum Bases de données
    Réponses: 8
    Dernier message: 06/09/2005, 10h34
  2. Erreur "Fichier utilisé par un autre processus"
    Par solo3326 dans le forum Langage
    Réponses: 3
    Dernier message: 18/08/2005, 16h55
  3. Réponses: 7
    Dernier message: 05/08/2005, 16h32
  4. [ debutant ][ Tomcat ] Erreurs fichier web.xml
    Par zsoh dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 13/04/2005, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo