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

Autres éditeurs Discussion :

GCC: inclusion de header files via -I


Sujet :

Autres éditeurs

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Par défaut GCC: inclusion de header files via -I
    Hello,

    Je commence tout juste à faire mon entrée dans le monde du Linux et à utiliser GCC. Pour débuter, j'ai voulu créer un projet "helloword". Ce projet fonction très bien dans le cas d'une version très basique (pas d'utilisation header files). Mais bien évidemment, j'ai souhaité faire un p'tit test en repartant mes déclarations et #define dans un header. Et bien évidemment, je n'ai pas omis de d'inclure ce header dans mon fichier ".c": #include "helloword.h".
    C'est alors que je trouve coincé... GCC ne trouve pas "helloword.h". Mon projet est enregistré sous "/home/vincent/dev/hello/". Après investigation, j'ai trouvé que l'on pouvait spécifié par ligne de commande le chemin d'accès à nos header. J'ai donc tester cette option par la commandee: "gcc -I ./dev/hello/ -c helloword.c". Mais rien n'y fait, j'ai toujours le même message d'erreur... Header file introuvable !

    Quel est mon erreur dans l'utilisation de "-I" ?

    Une autre possibilité serait de modifier le make. Mais à priori, plusieurs make file existent. Comment savoir lequel est utilisé ?

    Merci.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    Pourrais-tu préciser clairement les points suivants ?
    • Dans quel répertoire est helloword.c ?
    • Dans quel répertoire est helloword.h ?
    • Pourquoi dis-tu qu'il a plusieurs Makefiles ? Ce n'est pas si simple alors...


    Précisions:
    • En cas de confusion sur les noms de fichier. Tu dois vouloir dire Hello World et non Hello Word, à moins que tu sois fan de Microsoft...
    • On dit Makefile et non make file.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Par défaut
    Désolé de ne pas avoir relancé plutôt... Je pensais recevoir une alerte mail suite à une réponse sur ma discussion.

    Concernant la localisation de mes fichiers, comme précédemment indiqué, les deux fichiers helloword.c et helloword.h sont sous un même et unique répertoire qui est : "/home/vincent/dev/hello/".

    Pour ce qui est de la multitude des Makefiles, en fait je suis tombé sur une discussion (je ne me rappelle plus d'où) concernant GCC, cette discussion faisait référence à plusieurs Makefiles. Donc j'ai imaginé qu'il était possible de sélectionner, via une commande en ligne, tel ou tel Makefile selon la configuration souhaitée.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    Concernant la localisation de mes fichiers, comme précédemment indiqué, les deux fichiers helloword.c et helloword.h sont sous un même et unique répertoire qui est : "/home/vincent/dev/hello/".
    Si tu compiles dans le répertoire "/home/vincent/dev/hello/" et que tu inclus hellword.h par #include "helloword.h", tu n'as rien à faire. Le header est normalement trouvé tout seul.
    Si tu compiles en dehors de ce répertoire, tu dois effectivement ajouter l'option -I suivi du chemin absolu ou d'un chemin relatif (comme tu semblais faire)

    Donc j'ai imaginé qu'il était possible de sélectionner, via une commande en ligne, tel ou tel Makefile selon la configuration souhaitée.
    Oui,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    make -f UnMakefileEnParticulier
    .

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Par défaut
    Oups ! Oups ! Oups !

    Milles excuses, j'aurai dû commencer par me laver les yeux et regarder de plus près l'orthographe de mon header file ! Un 'l' s'était malencontreusement entre le 'r' et le 'd' de word ! Ca m'apprendra à vouloir faire des essais passé 23h
    Donc tout se passe bien

    Merci tout de même pour le temps passé, c'est super sympa

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    Ajouter le 'l' me paraîtrait plus logique. Le premier exemple qu'on apprend est souvent l'affichage de "Hello World".*

    Mais c'est un petit détail sans grand intérêt.

Discussions similaires

  1. Executer un batch file via access
    Par Mimosa777 dans le forum VBA Access
    Réponses: 5
    Dernier message: 07/04/2008, 14h24
  2. arm-linux-gcc: cannot execute binary files
    Par mout551 dans le forum Linux
    Réponses: 0
    Dernier message: 19/03/2008, 11h27
  3. Réponses: 8
    Dernier message: 16/11/2007, 22h11
  4. const && header file
    Par kass28 dans le forum C++
    Réponses: 13
    Dernier message: 05/11/2007, 12h11
  5. [net] recuperer les proprietes d'un File via une URL
    Par mma dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 06/05/2004, 12h45

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