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 :

Problème de headers / erreur: aucun fichier ou dossier de ce type


Sujet :

C

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Problème de headers / erreur: aucun fichier ou dossier de ce type
    Bonjour à tous,

    Je développe un pilote usb en c avec codeblocks sur linux ubuntu et juste au début et rien qu'avec les include les problèmes commencent. par exemple il n'arrive pas à trouver les fichiers module.h, init.h... il me crache à chaque fois AUCUN FICHIER OU DOSSIER DE CE TYPE. par contre aucun problème avec le stdio.h par exemple. je suis sure que c'est un problème de path car les headers init.h... existent dans /usr/src/linux-headers-2.6.32-22/include/linux alors que, apparemment l'emplacement disons par défaut pour codeblocks est /usr/include.

    J'ai essayé de faire un lien en mettant la liste des chemins des headers dont j'ai besoin, dans project / Build options / Other options, avec la syntaxe : -I /usr/src/linux... et là c pire

    Comment je pourrai préciser le chemin de mes headers sous codeblocks (pas dans les include car l'erreur serait valable aussi pour les headers qui font appel à d'autres headers)

    Désolé d'avoir tapé un aussi long post.

    Merci

  2. #2
    Membre averti Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Points : 414
    Points
    414
    Par défaut
    Citation Envoyé par lans843 Voir le message
    Bonjour à tous,

    Je développe un pilote usb en c avec codeblocks sur linux ubuntu et juste au début et rien qu'avec les include les problèmes commencent. par exemple il n'arrive pas à trouver les fichiers module.h, init.h... il me crache à chaque fois AUCUN FICHIER OU DOSSIER DE CE TYPE. par contre aucun problème avec le stdio.h par exemple. je suis sure que c'est un problème de path car les headers init.h... existent dans /usr/src/linux-headers-2.6.32-22/include/linux alors que, apparemment l'emplacement disons par défaut pour codeblocks est /usr/include.
    C'est sure, il faut utiliser les en-tete de source kernel pour compiler un module kernel.

    J'ai essayé de faire un lien en mettant la liste des chemins des headers dont j'ai besoin, dans project / Build options / Other options, avec la syntaxe : -I /usr/src/linux... et là c pire
    C'est pas dans "other options" qu'il faut faire ca !!!
    selectionnez la TAB "search directory", et ajouter les repertoires que te manque.

    Comment je pourrai préciser le chemin de mes headers sous codeblocks (pas dans les include car l'erreur serait valable aussi pour les headers qui font appel à d'autres headers)

    Désolé d'avoir tapé un aussi long post.

    Merci
    Pas de probleme, mais le truc c'est deja d'ecire tout ca dans la section qui n'a rien avoir avoir ton probleme

    Il falut voire la section des IDE !!

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Points : 2
    Points
    2
    Par défaut header codeblocks
    Super, merci, merci cmoibal, ça marche!!! maintenant que tu le dis ça paraît évident! search directory!!! J'ai rajouté les chemins un par un. C'est vrai que c'est plutôt un problème d'IDE mais j'ai pas vraiment fait attention, merci encore pour ton aide.

    Une petite question:
    Certes j'ai de nouvelles erreurs maintenant mais l'important c'est que je n'ai plus de "aucun fichier de ce type". C'est normal s'il ne reconnait pas quelques structures si je ne mets pas le bon .h car il existe plusieurs ayant le même nom par exemple je trouve plusieurs processor.h différents et dans différents répertoires, l'idéal c'est de mettre tous les chemins de ce header dans le search directory n'est ce pas???

  4. #4
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Points : 2
    Points
    2
    Par défaut tite précision
    Salut!
    Vous voulez dire quoi par:
    "C'est sure, il faut utiliser les en-tete de source kernel pour compiler un module kernel. "

    Merci

  5. #5
    Membre actif Avatar de ironzorg
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 288
    Points : 245
    Points
    245
    Par défaut
    Coder avec un IDE sous linux, c'est demode (jk)

    Les modules kernels comme celui que tu codes ne sont pas rares sur internet, je te conseille de jeter un oeil aux Makefile's publies sur le web pour avoir une idee des repertoires de reference pour la compilation (regarde les -I).

  6. #6
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci.
    Voici une doc que j'ai trouvée intéressante ici pour s'initier à l'écriture des modules du kernel.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/10/2012, 17h04
  2. Réponses: 8
    Dernier message: 19/01/2012, 20h08
  3. Réponses: 6
    Dernier message: 22/08/2011, 15h12
  4. -bash: ./nomdubinaire: Aucun fichier ou dossier de ce type
    Par kriver dans le forum Distributions
    Réponses: 0
    Dernier message: 04/03/2011, 01h09
  5. Réponses: 3
    Dernier message: 07/10/2010, 17h40

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