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

Qt Discussion :

Problème: classes Qt de base non liées au programme


Sujet :

Qt

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 41
    Par défaut Problème: classes Qt de base non liées au programme
    Bonjour, j'ai un petit problème concernant certaines classes. En effet, j'ai réalisé un programme contenant QString, QFile, QTextStream, QTime, QDate sans problème. Mais dès que j'ai essayé d'intégrer QHttp, je galère.

    tout d'abord rien qu'en mettant la ligne "#include <QHttp>", sans même l'appelé, j'obtient un message d'erreur.

    >qmake -project
    >qmake prog.pro
    >make
    g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib/qt4/mkspecs/linux-g++ -I. -I/usr/lib/qt4/include/QtCore -I/usr/lib/qt4/include/QtCore -I/usr/lib/qt4/include/QtGui -I/usr/lib/qt4/include/QtGui -I/usr/lib/qt4/include -I. -I. -I. -o cbaseresultat.o cbaseresultat.cpp
    g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib/qt4/mkspecs/linux-g++ -I. -I/usr/lib/qt4/include/QtCore -I/usr/lib/qt4/include/QtCore -I/usr/lib/qt4/include/QtGui -I/usr/lib/qt4/include/QtGui -I/usr/lib/qt4/include -I. -I. -I. -o cconnect.o cconnect.cpp
    Dans le fichier inclus à partir de cconnect.cpp:3:
    cconnect.h:11:17: erreur: QHttp : Aucun fichier ou dossier de ce type
    Après quelques recherche, j'ai remarqué que le fichier "QHttp" se trouvait dans "/usr/lib/qt4/include/QtNetwork" et que celui-ci ne se trouve pas dans la liste des drapeaux (?? avec '-l' devant). J'ai modifier le fichier "prog.pro" de la manière suivante:

    ######################################################################
    # Automatically generated by qmake (2.01a) mer. oct. 29 11:50:18 2008
    ######################################################################

    TEMPLATE = app
    TARGET =
    DEPENDPATH += .
    INCLUDEPATH += /usr/lib/qt4/include/QtNetwork

    # Input
    HEADERS += cbaseresultat.h cconnect.h clistbaseresultat.h
    SOURCES += cbaseresultat.cpp cconnect.cpp clistbaseresultat.cpp main.cpp
    A ce moment là, plus d'erreur de compilation. Mais ce n'est pas finit: ensuite tout content d'avoir résolu mon problème, je commence à utiliser la classe (QHttp) dans mon programme. Je compile et là... j'obtiens un problème de compilation:

    cconnect.o: In function `Cconnect::Cconnect()':
    cconnect.cpp: (.text+0x174): undefined reference to `QHttp::QHttp(QObject*)'
    cconnect.cpp: (.text+0x1a8): undefined reference to `QHttp::setHost(QString const&, unsigned short)'
    cconnect.o: In function `Cconnect::lireListe()':
    cconnect.cpp: (.text+0x258): undefined reference to `QHttp::get(QString const&, QIODevice*)'
    cconnect.o: In function `Cconnect::Cconnect()':
    cconnect.cpp: (.text+0x314): undefined reference to `QHttp::QHttp(QObject*)'
    cconnect.cpp: (.text+0x348): undefined reference to `QHttp::setHost(QString const&, unsigned short)'
    cconnect.o: In function `Cconnect::finLireListe(QHttpResponseHeader const&)':
    cconnect.cpp: (.text+0x3dc): undefined reference to `QHttp::currentId() const'
    cconnect.cpp: (.text+0x406): undefined reference to `QHttp::readAll()'
    Je n'ai pas d'idées sur la façon de résoudre ce problème. Je ne comprend pas pourquoi ce problème existe.

    merci d'avance pour vos aides

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Par défaut
    Salut,

    Essaie de lire un maximum la doc de Qt, elle est quand même bien faite. L'ajout de module, autre que QtCore et QtGui qui sont chargés par défaut, nécessite une spécification explicite dans le .pro.

    Va lire ça, au chapitre "Configuring the Build Process" du module QtNetwork : http://qt.developpez.com/doc/latest/...k.html#details

    Je veux pas être méchant dans mes propos, mais ce genre de question est traitée 1000 fois sur le web, et la solution est pourtant vraiment explicitée dans la doc.

    Bon courage pour la suite,

    G.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 41
    Par défaut
    merci, pour ta réponse.

    j'ai ajouté "Qt += network" dans le fichier *.pro et ça fonctionne.

    Petite remarque: c'est pas la première fois que j'utilise la classe QHttp, mais c'était avec Qt3 et pas sur le même ordinateur. et je n'ai jamais eu de problème en ce qui concerne l'intégration de la classe (Différence entre Qt3 et Qt4 ??). Je pensais que c'était plutôt un problème d'installation de Qt.

    Je veux biens te croire quand tu dis que cette question est apparue plus de 1000 fois: J'ai déjà vu ce type de message. Je dois mal désigner ce que je veux lors de mes recherches parce que je n'ai pas trouvé quelque chose susceptible de m'aider.

    merci encore.

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par vingt sens Voir le message
    Petite remarque: c'est pas la première fois que j'utilise la classe QHttp, mais c'était avec Qt3 et pas sur le même ordinateur. et je n'ai jamais eu de problème en ce qui concerne l'intégration de la classe (Différence entre Qt3 et Qt4 ??). Je pensais que c'était plutôt un problème d'installation de Qt.
    En passant à la version 4, Qt à totalement re-modeler ses sources pour créer des modules indépendants

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de passage de paramètre non scalaire (classe)
    Par eljoedaz dans le forum Web & réseau
    Réponses: 1
    Dernier message: 24/09/2007, 16h52
  2. Réponses: 8
    Dernier message: 20/07/2007, 14h28
  3. [probleme] classe de base non définie
    Par aswat dans le forum C++
    Réponses: 14
    Dernier message: 23/02/2007, 20h42
  4. Réponses: 2
    Dernier message: 04/05/2006, 23h36
  5. [Module de classe] Fonction non liée à l'instance?
    Par Caroline1 dans le forum Access
    Réponses: 6
    Dernier message: 07/04/2006, 20h13

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