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

C++ Discussion :

calling fdopen: Bad file descritpor


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 19
    Par défaut calling fdopen: Bad file descritpor
    bonjour,

    je debute en c++, je travaille sous mandrake et je me retrouve coincé a cause de cette erreur :

    In file included from PMLikelihoodTest.h:9:
    tree.h:11:18: calling fdopen: Bad file descritpor
    Elle se produit lorsque je compile plusieurs .h avec la commande g++ *.h .

    la ligne 11 de la classe tree correspond a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include "lists.h"
    et la ligne 9 de la classe PMLikelihoodTest.h correspond a
    lists.h existe je ne comprend pas l'erreur trouvée...si quelqu'un peut m'aider merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 29
    Par défaut
    pourquoi veux-tu compiler des .h on dirait bien que tu débutes

    les .h servent à déclarer les fonctions/classes/etc qui sont définies dans les .cpp et non à contenir du code (sauf templates,...).

    commence par un truc simple avec
    une fonction déclarée dans fonction.h et définie dans fonction.cpp.
    un main dans ton main.cpp qui utilise ta fonction (#include "fonction.h" au debut)

    Ensuite, tu compiles ta fonction : g++ -c fonction.cpp
    ton main : g++ -c main.cpp

    et tu créé le programme : g++ -o monprog main.o fonction.o

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 19
    Par défaut
    ok mais comment verifier que les .h sont bien ecries il faut bien les compiler ?
    A quoi sert le -c apres la commande g++ ?

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Lorsque tu fais #include "Machin.h" dans un .cpp, le contenu de Machin.h est intégralement copié dans ton .cpp. Donc ne t'inquiète pas, le code que tu y as mis sera bien compilé...

    L'option -c sert à générer les fichiers objets (contenant bytecode) des fichiers .cpp. Les .o sont ensuite envoyés à l'éditeur de liens pour créer le binaire final.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 19
    Par défaut
    d'accord, comme j'ai plusieurs .cpp il faut que je les compiles un par un ou :
    g++ -c *.cpp suffit.

    Meme question pour l'edition de liens je peux faire
    g++ -o monprog *.o

    J'ai toutes mes classes dans le meme dossire.

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Tu peux tout à fait utiliser le raccourci * si ça correspond à ce que tu veux faire.

    Mais bon, pour faire classe et avoir l'air d'un programmeur chevronné il te faudra passer par l'étape makefile

    Tu trouveras un tutoriel ici sur developpez.com, si ça t'intéresse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/11/2007, 20h53
  2. Erreur: bad file descriptor
    Par Bruno51 dans le forum Langage
    Réponses: 10
    Dernier message: 06/09/2007, 16h44
  3. Bad file descriptor avec un read()
    Par je®ome dans le forum C
    Réponses: 2
    Dernier message: 04/04/2006, 19h30
  4. Etrange "Bad file descriptor"
    Par amauryxiv dans le forum Langage
    Réponses: 23
    Dernier message: 01/02/2006, 03h20
  5. bad file magic number
    Par sam_XIII dans le forum C++
    Réponses: 1
    Dernier message: 23/10/2004, 23h20

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