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 d'include de projet externe


Sujet :

C++

  1. #1
    Membre averti
    Inscrit en
    Février 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 47
    Par défaut Problème d'include de projet externe
    Bonjour tout le monde,

    je suis sur un projet d'etude. Dans mon projet je voudrais utiliser les sources d'un projet open source.
    ALors dans mes classes j'importe les .h du projet que j'utilise dans mes librairies.
    Hors dans les .h que j'utilise il y a d'autres .h d'importer et mon programme ne les trouve pas. J'ai bien pensé à mettre tout les chemins dans mon makfile mais
    ca peut aller tres loin vue quand dans tous les .h il y a d'autre .h d'importer.

    Est ce que quelqu'un aurait une solution à me proposer?

    Merci

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    Sans plus d'informations sur la structure c'est difficile de se prononcer.
    En particulier comment tu inclus les headers de la bibliothèque et comment cette bibliothèque inclut elle-même ses propres headers ?

    MAT.

  3. #3
    Membre averti
    Inscrit en
    Février 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 47
    Par défaut Include
    Il y a toute une hierachie presente dans l'application;

    j'utilise eclipse CDT pour developper et pour l'instant mon appli se reduit à une simple classe et à une declaration.

    Je parametre dans eclipse le path pour le .h que je veux et je fais un include dans mon fichier cpp. Je bloque à ce niveau.
    Apres l'application que je reprend dois utiliser des includes standard. Pourquoi il y a plusieurs types d'includes ?
    Je suis debutant en c++ moi je suis plus java, langage ou je dois avoué je n'ai jamais eu ce genre de probleme.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 688
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 688
    Par défaut
    Si c'est un projet GNU autotools, ou bien il expose un header et une librarie ou bien vous souhaitez "forker" le source pour l'adapter à vos besoins.
    Dans le deuxième cas, il me semble difficile (et hasardeux) de faire l'impasse sur une étude de la construction du projet opensource.
    Eclipse n'est peut être pas le meilleur IDE pour effectuer cette étude, utilisez EMACS... Lorsque vous saurez comment vous pourrez réaliser ce que vous souhaitez faire, vous pourrrez retourner à Eclipse.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre averti
    Inscrit en
    Février 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 47
    Par défaut
    EN fait j'ai une doc complete du projet. En fait c'est l'application qutecom anciennement wengophone et plus precisement le module qutecom coip.

    J'ai la doc developpeur complete, mais je pensais qu'en prenant les librairies qu'il me fallait et en les incluants ca aurait été bon un peu comme en java. Mais les librairie incluse dans les librairies que j'utilise ne sont pas reconnue.

    On m'a dit que c'etait un probleme de makefile mais vue que je suis debutant je ne sais pas trop ce qu'il en est

  6. #6
    Membre averti
    Inscrit en
    Février 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 47
    Par défaut
    juste au cas ou voici la doc du projet que je reprend

    http://trac.qutecom.org/browser

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Si tu n'as jamais eu de problèmes de classpath en java c'est que tu es bien chanceux !

    Tu peux donner la ligne de ton #include qu'on voit précisément ce que tu inclus ?
    Et quel répertoire exactement ajoutes-tu dans la liste des répertoires d'include sous Eclipse ?

    MAT.

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 688
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 688
    Par défaut
    Citation Envoyé par Mouns007 Voir le message
    On m'a dit que c'etait un probleme de makefile mais vue que je suis debutant je ne sais pas trop ce qu'il en est
    C'est un projet cmake et non autotools... quelque part, c'est plus simple mais si vous ne connaissez pas make (fonctionnellement çà joue le meme role que ant dans le monde java), je ne vois pas trop comment vous aider.

    Ceci dit, make c'est quand meme pas si sorcier... et au bout de quelques jours vous devriez pouvoir vous y retrouver.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Membre averti
    Inscrit en
    Février 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 47
    Par défaut
    en fait dans eclipse je met le path
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\qutecomcoip\libs\coipmanager\include\coipmanager
    et la dans ma classe je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include <CoIpManagerConfig.h>
    Avec ca il reconnait bien CoIpManagerConfig.h mais dans celui ci il y a plusieurs include qu'il ne reconnait pas

  10. #10
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Mets comme chemin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\qutecomcoip\libs\coipmanager\include
    Et inclus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include <coipmanager/CoIpManagerConfig.h>
    MAT.

  11. #11
    Membre averti
    Inscrit en
    Février 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 47
    Par défaut Include
    J'ai deja essayé ca fonctionne, mais le probleme ne vient pas de ciomanagerconfig mais des headers qui y sont inclus en fait,


    Tout d’abord le projet que je reprends utilise CMake pour la compilation.



    L’architecture de mon projet est la suivante :



    Dans le répertoire racine de mon projet, j’ai un répertoire libs qui contient plein d’autre sous répertoire. Dans chacun de ces sous répertoires, la structure est en générale la suivante :



    Un répertoire src (avec les .cpp), un répertoire include avec les .h, un fichier CmakeFile.txt.



    Ensuite, à la racine de mon projet, j’ai également d’autre répertoire comme Wengocall, Wengochat qui utilisent les headers du répertoire libs pour dissocier les fonctionnalités de l’application complète Wengophone qui elle contient tout dans la même interface graphique.





    Mon soucis est que je dois reprendre du code source pour intégrer à mon application une fonctionnalité chat et VoIP. Pour moi l’idéal serait donc de reprendre le code de Wengophone et Wengochat, et le réécrire sans l’héritage de l’interface graphique (juste les fonctionnalités).



    Le projet qutecom-coip, j’arrive à le compiler avec CMake, seulement mon projet d’étude doit impérativement utiliser make. Donc ce que je souhaiterais c’est pouvoir utiliser les .h du répertoire libs et linker les .so que j’ai compilé mais je n’y arrive pas.



    Autre précision importante, les .h dans les sous répertoire du répertoire libs sont entre chevron <> et toutes les entêtes sont explicités à la compilation par CMake dans les CMakeList.txt (si j’ai bien compris). Donc comment faire pour ne pas avoir à modifier tous les .h tout en intégrant ces sources dans mon MakeFile.



    Merci pour votre aide.

  12. #12
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Dans le fichier CoIpManagerConfig.h que tu inclus, on trouve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    23    #include <coipmanager/coipmanagerdll.h>
    24	
    25	#include <networkdiscovery/EnumProxyAuthType.h>
    26	
    27	#include <settings/AutomaticSettings.h>
    Avec la méthode que j'ai indiquée le fichier inclus ligne 23 est trouvé.
    Si le problème concerne les 2 autres, lignes 25 et 27, il faut que tu rajoutes aussi leurs répertoires d'include respectifs.
    Genre http://trac.qutecom.org/browser/qute...covery/include et celui pour settings que je n'ai pas trouvé mais qui doit bien être quelque part.

    Bon cela dit CMake est capable de générer des makefile donc au pire tu peux toujours faire ça, c'est quand même fait pour à la base...

    MAT.

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/12/2011, 14h13
  2. Problème d'import d'un projet externe avec le mapping
    Par koyuki90 dans le forum Hibernate
    Réponses: 1
    Dernier message: 06/07/2011, 17h10
  3. problèmes avec "include file" pour une page asp
    Par chipsense dans le forum ASP
    Réponses: 1
    Dernier message: 02/09/2005, 15h22
  4. [JSP] problème d'include ou d'import
    Par lipao17 dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 06/04/2005, 13h39
  5. Problème d'include sous Dev-c++ 4.9.8.0
    Par Argonz dans le forum Dev-C++
    Réponses: 16
    Dernier message: 20/11/2003, 17h36

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