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

Eclipse C & C++ Discussion :

Eclipse 3.2.1, QT4.2.2 et MSYS/MingW : petit soucis d'include


Sujet :

Eclipse C & C++

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 157
    Points : 69
    Points
    69
    Par défaut Eclipse 3.2.1, QT4.2.2 et MSYS/MingW : petit soucis d'include
    Bien le bonjour !

    J'ai installé MSYS sur D:\msys
    Et j'ai ajouté MinGW tel que : D:\msys\mingw

    J'ai installé QT sur D:\
    Lors de l'installation, QT a bien reconnu MinGW.
    Mon répertore include est donc sous : D:\Qt\4.2.2\include

    Variable d'environnement (utilisateur) : PATH
    D:\Qt\4.2.2\bin;D:\Qt\4.2.2\include;D:\msys\mingw\bin;D:\msys\bin

    Variable d'environnement (système) : Path
    [...];D:\Qt\4.2.2\bin;D:\Qt\4.2.2\include;D:\msys\mingw\bin;D:\msys\bin

    J'ai installé Eclipse sur D:\Program Files\Eclipse
    Mon répertoire de projet est sur K:\Workspace_cpp
    J'ai fait un premier "HelloWorld" en C++ classique, et Eclipse parvient parfaitement à me le compiler, me l'exécuter et gérer mon makefile.

    Maintenant je souhaite compliquer la chose en faisant un programme C++ qui utilsie QT. Pour cela je reprend le code basique fournit dans les premiers tutoriaux de QT, et je le colle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #include <qapplication.h>
    #include <qpushbutton.h>
     
     
    int main( int argc, char **argv )
    {
        QApplication a( argc, argv );
     
        QPushButton hello( "Hello world!", 0 );
        hello.resize( 100, 30 );
     
        a.setMainWidget( &hello );
        hello.show();
        return a.exec();
    }
    Bien evidemment, Eclipse ne reconnait pas mes librairies QT, et donc ne parvient pas à inclure mon qapplication.h.
    Je me suis donc un peu renseigné, et on m'a dit d'inclure les libraires QT dans mon projet C++.

    Je fais donc un clic-droit sur mon Projet -> Propriétés -> Symboles et chemins d'inclusion C/C++ (J'ai un package d'IMB qui traduit le CDT en Franchie :p) -> Ajouter un chemin d'inclusion externe -> D:\Qt\4.2.2\include\QtGui\

    Malgrè cela, ca ne fonctionne toujours pas.
    Quelqu'un a-t-il une idée ?

    Merci à vous

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Il ne faut pas inclure QtGUI, mais le dossier parent.

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    En fait j'ai commencé par inclure :
    D:\Qt\4.2.2\include

    Cela ne fonctionnant pas, j'ai inclu aussi tous les sous-dossiers :
    D:\Qt\4.2.2\include
    D:\Qt\4.2.2\include\ActiveQt
    D:\Qt\4.2.2\include\Qt
    ...
    D:\Qt\4.2.2\include\QtGui
    ...

    Mais ca ne fonctionne toujours pas

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Tu as vérifié qu'il existait bien, ce fichier, dans ton arborescence ? et à un endroit "accessible" ?

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    Oui, dans mon répertoire D:\Qt\4.2.2\include\QtGui j'ai bien :
    - QApplication
    - qapplication.h

  6. #6
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Dans ce cas, si tu pouvais donner l'erreur exacte !

  7. #7
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    Lorsque je "génère le projet", j'obtiens des "croix rouges" à côté de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include <qapplication.h>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include <qpushbutton.h>
    Elles me signalent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qapplication.h : No such file or directory
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qpushbutton.h : No such file or directory
    Bref, exactement comme si je n'avais rien inclu


    Voici la trace dans la console :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    make -k all 
    g++ -c hello.cpp
    hello.cpp:1:26: qapplication.h: No such file or directory
    hello.cpp:2:25: qpushbutton.h: No such file or directory
    hello.cpp: In function `int main(int, char**)':
    hello.cpp:8: error: `QApplication' undeclared (first use this function)
    hello.cpp:8: error: (Each undeclared identifier is reported only once for each function it appears in.)
    hello.cpp:8: error: expected `;' before "a"
    hello.cpp:10: error: `QPushButton' undeclared (first use this function)
    hello.cpp:10: error: expected `;' before "hello"
    hello.cpp:11: error: `hello' undeclared (first use this function)
    hello.cpp:13: error: `a' undeclared (first use this function)
    make: *** [hello.o] Error 1
    make: Target `all' not remade because of errors.
    Eclipse me signale donc 8 erreurs :
    - liées au fait qu'il ne trouve pas les 2 libraries
    - liées au fait que les objets 'a' et 'hello' soient donc non-déclarés

    Et alors, le plus drôle dans tout ca, c'est que Eclipse affiche dans mon projet un sous-répertoire nommé "Instructions include"... Et dans celui-ci je retrouve bien mes include. En navigaunt dedans, je trouve sans soucis les 2 librairies

    Je suis sur un "Projet Make C++ Standard".
    Quand je fais un "Projet Make C++ géré", je ne parviens pas à inclure mes librairies QT.

    Peut-être dois-je inclure mes librairies dans le fichier "makefile" de mon "Projet Make C++ Standard", et ne pas simplement me contenter de les ajouter aux propriétés du projet ?

  8. #8
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    En tout cas si les choses se passaient correctement, tu devrais avoir une ligne avec GCC plus complète...

  9. #9
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    En fait je n'ai pas le plug-in QTclipse, et je n'ai pas fait de .pro

    Je suppose que mon problème vient de là.
    Un fichier.pro m'incluerait les libraires, puis le QMake me produirait un fichier Makefile complet.

    Je vais voir à faire fonctionner tout cela, mais le dernier QT ne parvient pas à s'installer correctement si je mets le dernier MinGW : il veut la version 3.2 alors qu'on est en 5.1 !

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 82
    Points : 68
    Points
    68
    Par défaut
    Si ton projet est de type "Managed Make", tu peux aussi rajouter le chemin vers le répertoire include de Qt dans les propriétés de la compilation. Dès lors, tu n'as plus besoin d'ajouter un chemin d'include comme tu l'as fait (je me demande si ça marche, ça...)
    J'utilise Eclipse pour développer un projet utilisant Qt, je procède comme cela et ça marche très bien.

    Quand je vois que la commande exécutée pour compiler ton projet est
    je me dis que c'est normal que ça ne passe pas : il faudrait une ligne du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    g++ -I<cheminVersLesIncludesDeQt> -c hello.cpp
    et l'option -I apparaîtra si tu rajoutes le chemin Qt dans les options de compil'.

    Bon courage !

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/07/2008, 11h48
  2. Réponses: 2
    Dernier message: 26/06/2008, 21h20
  3. Eclipse RCP vs Qt4
    Par FloMo dans le forum Langages de programmation
    Réponses: 46
    Dernier message: 16/05/2008, 18h47
  4. Eclipse RCP vs Qt4
    Par FloMo dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 01/05/2008, 23h05
  5. [Qt4.1.0,eclipse europa cdt,mac]une librairie reconnue, pas l'autre
    Par olivier57b dans le forum Eclipse C & C++
    Réponses: 1
    Dernier message: 05/08/2007, 13h51

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