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

Langage C++ Discussion :

Comment améliorer les includes.


Sujet :

Langage C++

  1. #1
    Invité
    Invité(e)
    Par défaut Comment améliorer les includes.
    Salut!

    J'ai une petite question à propos des include.

    En fait j'ai plusieurs dossiers, un dans lequel je mets tout les header et les fichiers d'implémentation, et un autre dans lequel je mets tout les fichier.cpp.

    Ce qui me donne ceci comme dossiers (j'en ai fais un par module) dans le répertoire du projet :

    include/odfaeg/Physics
    src/odfaeg/Physics

    etc...

    Pour include un fichier.h dans le projet .cpp, je dois donc faire ceci :

    #include "../../../include/odfaeg/Physics/lefichier.h"


    Je voudrais en faîtes ne faire que ceci :

    <odfaeg/Physics/lefichier.h>

    Le problème c'est que je ne sais pas comment faire j'ai essayé mais il me dit qu'il ne trouve plus le fichier dans ce cas là.

    Sinon quel est la différence entre <> et ça "" ?

    Il va rechercher les include dans /usr/include dans le 1er cas non ?

    Mais comment je peux faire ça lors de la compilation de la lib si les includes ne sont pas dans /usr/include ? (Tout comme le fait la librairie SFML)

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    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 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Bonjour,

    Bibliothèque* grrr.

    Personnellement, je préfère mettre toutes les sources dans un dossier src et de copier ou de déplacer les quelques header qui font partie de mon "interface publique" dans le .h.


    Ensuite, pour utiliser <>, il faut soit :
    • que ton dossier soit dans le path (si je ne me trompe pas) ;
    • que tu as indiqué l'option -I à gcc ;
    • que tu ai indiqué add_includedir(ton_dossier) (?) à cmake si tu l'utilise.


    Je te déconseille d'utiliser <> pour ta propre bibliothèque, en effet, on est jamais à l’abri de mauvaises surprises.
    Par exemple, tu développes ta propre bibliothèque que tu as installé sur ton ordi.
    Tu travailles dessus et tu fait un #include <toto.h>.

    Va-t-il inclure le toto.h de /usr/includes ou celui de ton projet courant ?
    Tu comprends que c'est une source d'erreur toute bête.


    Je te conseille aussi de regarder du côté de cmake et de find_package.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Ok je vais voir ce que je peux faire de ce côté là.

  4. #4
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Pour pouvoir utilisé une annotation en "chemin include" (donc sans un path complet relatif ou absolu), il faut que tu donnes l'option -I à ton programme (qui lui contiendras le début du chemin), autrement dis le répertoire de tes includes.
    Sachant que le chemin à passé à l'option -I est celui menant au répertoire des includes depuis l'emplacement de la génération (repertoire où est exécuter ton compilo, en général la racine du projet)..
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


Discussions similaires

  1. Comment améliorer les couleurs
    Par xboulney dans le forum Webdesign & Ergonomie
    Réponses: 3
    Dernier message: 09/06/2011, 12h25
  2. Comment améliorer les performances lors d'une redirection?
    Par Courgette17 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/03/2008, 09h54
  3. 4D : comment améliorer les performances ?
    Par Elriks dans le forum 4D
    Réponses: 10
    Dernier message: 05/10/2007, 11h21
  4. Réponses: 2
    Dernier message: 01/08/2006, 10h20

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