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 :

Ajouter un dossier où le compilateur va chercher les fichiers.h


Sujet :

C

  1. #1
    Membre très actif
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Par défaut Ajouter un dossier où le compilateur va chercher les fichiers.h
    Bonjour,

    J'ai téléchargé un plut-in gimp que je dois compiler et l'installer. Problème dans le fichier main.c, il y a par exemple la ligne suivante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include <libgimp/gimp.h>
    Chez moi, ces fichier sons stocké dans des sous-dossier de /opt/locat (mpacport pour ceux qui connaissent).

    J'ai besoin de pourvoir ajouter le dossier ainsi que les sous-dossier aux dossier par défaut sachant que je compile avec make et xcode.

    Y'a-t-il un moyen simple d'ajouter ces dossiers aux dossiers par défaut pour xcode ainsi que tous les compilateur ?

    Je précise que je travaille sur mac os x.

    Merci pour votre réponse.

    Salutations

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Bonjour,

    Je ne peux pas vraiment t'aider vu que je n'ai pas de mac, ni de xcode.
    Il faut rajouter le dossier libgimp au PATH.

    Essaye de regarder dans le options du projet s'il n'y a pas de PATH dans l'environnement de compilation.

    Sinon tu peux essayer de modifier ton PATH de manière permanente, si ça marche comme sous Linux ça devrait être quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "export PATH=/nouvelle_repertoire:$PATH" > ~/.bashrc

  3. #3
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Citation Envoyé par Battant Voir le message
    Y'a-t-il un moyen simple d'ajouter ces dossiers aux dossiers par défaut pour xcode ainsi que tous les compilateur ?
    Tu veux dire a part modifier le makefile pour ajouter le repertoire d'include ?
    Oui, il existe une solution, mais ce n'est pas forcment super propre si tu es amene a changer de machine.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  4. #4
    Membre très actif
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Par défaut Ajouter un répertoire et tous les sous-dossier pour make
    Bonjour,

    Non, j'ai toujours la même machine ou plus exactement toujours la même structure de répertoire

    Mes fichiers include se trouve toujours dans le dossier suivant ainsi que les sous-dossier Je voudrais donc que l'utilitaire make puisse les analyser.

    Pour voir si ça marchait, j'ai exécuter la commande ci-dessous avant de réexécuté make mais sans succes.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    export $PATH=$PATH:/opt/local/include:/opt/local/include/gimp-2.0/libgimp
    Pourriez-vous m'aider ?

    Salutations

  5. #5
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Attention, si tu inclus le dossier libgimp au PATH, il faut alors faire :
    A moins bien sûr que ton dossier libgimp inclus contienne un autre dossier nommé libgimp.

  6. #6
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    $PATH ne sert pas plutôt de chemin de recherche pour trouver les exécutables appelés dans le shell ? On tape ls plutôt que /bin/ls car /bin est dans $PATH.

    J'ai un Mac mais Xcode m'a paru lourd pour faire 4 lignes de code, du coup, je vais avec gcc. Là, maintenant, je suis sous Linux Mint mais le principe de gcc reste le même.

    Dans ton cas, as-tu tester d'indiquer à gcc ce nouveau dossier de recherche avec l'option -I ? Tu aurais donc -Iopt/local/include.

  7. #7
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Citation Envoyé par Bktero Voir le message
    $PATH ne sert pas plutôt de chemin de recherche pour trouver les exécutables appelés dans le shell ?
    Le PATH est aussi utilisé par les compilateurs pour rechercher les fichiers d'en-tête.
    Essaye un whereis pthread.h.

  8. #8
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    pierre@pierre-mint:~/Documents/TestsC$ ls
    commande.c  commande.h  commande.o  fork_commandes_shell.c  Includes  main.c  main.o  test.log
    pierre@pierre-mint:~/Documents/TestsC$ whereis commande.h
    commande:
    pierre@pierre-mint:~/Documents/TestsC$ PATH=$PATH:$(pwd)
    pierre@pierre-mint:~/Documents/TestsC$ echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/pierre/Documents/TestsC
    pierre@pierre-mint:~/Documents/TestsC$ whereis commande.h
    commande:
    pierre@pierre-mint:~/Documents/TestsC$
    Sauf si je me suis trompé, ça n'a pas l'air de marcher

    Dans les pages de manuel, il y a une liste de dossiers : est-ce qu'il ne limite pas ses recherches à ses endroits ?


    EDIT : http://gcc.gnu.org/onlinedocs/cpp/Search-Path.html --> il y a la liste des dossiers où gcc recherche les fichiers d'en-tête

  9. #9
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    - J'ai jamais vu un compilateur chercher les includes dans $PATH, ca m'etonnerait que ce soit le cas sous MacOS

    - Les projets bien concus permettent de configurer ou trouver leur dependance, et documentent la procedure (ne fut-ce qu'en commentaire en tete du Makefile)

    - Les variables passees comme arguments a make ont priorite sur celles qui sont definies dans le Makefile,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       make CPPFLAGS=-I/le/chemin/qui/va/bien
    ou variante peut permettre de s'en sortir dans modifier le Makefile.

  10. #10
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Je peux me tromper aussi^^

    whereis ne se base pas sur le PATH mais sur une liste de répertoire standard sous Linux.

    Un whereis d'une en-tête C standard marchera car ils sont tous contenus dans /usr/include/
    D'ailleurs après vérification /usr/include n'est pas dans le PATH.

    Je vais quand même vérifier sur QtCreator car il me semblait bien que dans "l'environnement de compilation", /usr/include était bien dans le PATH.
    EDIT : non apparement il n'y est pas, j'ai dû lire trop vite.

    Bon, après croyant que whereis se base sur le PATH et voyant que whereis stdio.h marche, j'ai pu faire un raccourcit trop rapide. Mea Culpa.

  11. #11
    Membre émérite
    Avatar de mitkl
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 364
    Par défaut
    Si tu utilises XCode, il faut que tu ailles dans les options de ton projet et tu cherches "Header Search Paths".
    Images attachées Images attachées  

Discussions similaires

  1. Ajouter un dossier /mnt/xx/x/sur Apache
    Par MBAYE BABACAR GUEYE dans le forum Apache
    Réponses: 4
    Dernier message: 19/02/2013, 12h16
  2. Chercher les fichiers crées entre deux dates
    Par almofa237 dans le forum Administration système
    Réponses: 10
    Dernier message: 07/03/2011, 12h23
  3. Réponses: 2
    Dernier message: 27/03/2009, 16h45
  4. Ajouter un dossier avec InnoSetup
    Par Jiyuu dans le forum Déploiement/Installation
    Réponses: 1
    Dernier message: 09/11/2008, 23h35
  5. Réponses: 7
    Dernier message: 04/02/2008, 16h49

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