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 d'include lors de la compilation..


Sujet :

Qt

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Par défaut Problème d'include lors de la compilation..
    Bonjour tout le monde !

    Je viens poster aujourd'hui car j'ai un petit problème que je n'arrive pas à résoudre...

    Enfaite quand je compile j'ai un message d'erreur le voici :
    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
    16
     
    mingw32-make -f Makefile.Release
    mingw32-make[1]: Entering directory `C:/Programme Live/final'
    g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT
    -DQT_DLL -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB
    -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..\Qt\2009.02\qt\include\QtCore" -I".
    .\..\Qt\2009.02\qt\include\QtNetwork" -I"..\..\Qt\2009.02\qt\include\QtGui" -I".
    .\..\Qt\2009.02\qt\include\QtXml" -I"..\..\Qt\2009.02\qt\include" -I"." -I"..\..
    \Qt\2009.02\qt\include\ActiveQt" -I"release" -I"." -I"..\..\Qt\2009.02\qt\mkspec
    s\win32-g++" -o release\requetes_alertes.o requetes_alertes.cpp
    In file included from requetes_alertes.h:10,
                     from requetes_alertes.cpp:1:
    tconfig.h:27: error: `Alerte' does not name a type
    mingw32-make[1]: *** [release/requetes_alertes.o] Error 1
    mingw32-make[1]: Leaving directory `C:/Programme Live/final'
    mingw32-make: *** [release] Error 2
    Et voici mon requetes_alertes.cpp
    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
    16
    17
     
    #include "requetes_alertes.h"
     
    void Alerte::requete()
    {
        //Requête
    }
     
    void Alerte::verification()
    {
        //Requête de veérification
    }
     
    void Alerte::traitement(bool)
    {
        //Traitement de la requête
    }
    J'ai enlevé le contenu pour faire moi gros.

    Et pour finir requetes_alertes.h
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    #ifndef REQUETES_ALERTES_H
    #define REQUETES_ALERTES_H
     
    #include <QCryptographicHash>
    #include <QHttp>
    #include <QTimer>
    #include <QDomDocument>
    #include <QDebug>
     
    #include "tconfig.h"
     
    class Alerte : public QDialog
    {
        Q_OBJECT
     
    private:
        QStringList listeMessages;
        QHttp *http;
     
    public slots:
        void requete();
        void verification();
        void traitement(bool);
    };
     
    #endif // REQUETES_ALERTES_H
    Le fichier tconfig.h :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    #ifndef TCONFIG_H
    #define TCONFIG_H
     
    #include <QSettings>
    #include <QMessageBox>
    #include <QDir>
    #include <QCryptographicHash>
     
    #include "ui_tconfig.h"
    #include "requetes_alertes.h"
     
    class TConfig : public QDialog
    {
        Q_OBJECT
     
    public:
        explicit TConfig(QWidget *parent = 0);
     
    private:
        Ui::TConfig m_ui;
        QString path;
        Alerte alerte;
     
    public slots:
        void on_pushButton_gauche_clicked();
        void on_pushButton_connection_clicked();
        void on_pushButton_active_windows_clicked();
        void on_pushButton_desactive_windows_clicked();
    };
     
    #endif // TCONFIG_H
    Si c'est un autre fichier qu'il vous faut n'hésitez pas !

    Merci beaucoup et bonne journée !

  2. #2
    Membre éclairé Avatar de gassi64
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 255
    Par défaut
    Essai de passer par un pointeur

    Alerte *alerte;

    que tu instancie dans le constructeur à NULL ou avec un new ...

    sinon met #include <QDialog> dans ton requetes_alertes.h

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Par défaut
    Désoler j'ai pas compris comment tu dis instancier dans le constructeur à NULL ou avec un new ?

  4. #4
    Membre éclairé Avatar de gassi64
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 255
    Par défaut
    pardon je n'avais pas vu que tu n'avais pas de constructeur pour Alerte (ou en tout cas tu ne redéfinis pas le constructeur par défaut)

    tu peux essayer de faire un alerte = new Alerte; dans une méthode où tu utilise alerte

    mais tu as essayé de mettre le #include <QDialog> comme je t'ai dit ??

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Par défaut
    Oui j'ai mis le #include <QDialog> mais ça ne change rien...

    et le alerte = new Alerte; je l'ai mis juste au dessus de la ou j'apelle alerte :
    alerte->requete();

    Je rajoute le fichier tconfig.cpp tu verras peut être une anomalie :p
    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
    16
    17
     
    #include "tconfig.h"
     
    TConfig::TConfig(QWidget *parent) : QDialog(parent)
    {
        m_ui.setupUi(this);
     
        connect(m_ui.pushButton_connection, SIGNAL(clicked()), this, SLOT(on_pushButton_connection_clicked()));
        connect(m_ui.pushButton_ok, SIGNAL(clicked()), this, SLOT(close()));
    }
     
    void TConfig::on_pushButton_connection_clicked()
    {
        // Enregistrement du mot de passe et du pseudo.
     
        alerte.requete();
    }
    PS : j'ai supprimé les void inutile pour l'aide.

    Merci pour ton aide

  6. #6
    Membre éclairé Avatar de gassi64
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 255
    Par défaut
    tu déclare un objet Alerte dans tConfig mais dans requetes_alertes tu fais un include de tConfig

    autrement dit, dans tConfig tu inclu un tConfig qui inclut un tConfig qui inclut...

    tu devrais juste faire ta classe Alerte, vérifer que ca compile, et faire apres dans ton tConfig une déclaration de ton Alerte en pointeur en tant que membre de ta classe.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Par défaut
    Super ça fonctionne merci beaucoup je n'est pas mis de pointeur par contre.

    J'ai un nouveau léger problème...

    Dans ma class Alerte je vais faire ma requête mais la requête a besoin du pseudo et du MDP de l'utilisateur qui se trouve dans la fenêtre TConfig, donc avant je fessais simplement ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    QString PostVariable ="username=";
    PostVariable+=m_ui.lineEdit_2->text();
    Mais maintenant je sais pas du tout comment faire j'ai essayé plusieurs chose mais pas de résultat...c'est le m_ui qui me bloc...

    Merci beaucoup !

  8. #8
    Membre éclairé Avatar de gassi64
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 255
    Par défaut
    C'est là que tu crée un nouveau constructeur pour ta classe Alerte:
    Alerte(string userName, string mdp);

    dans lequel tu affecte à des nouveaux membres de ta classe Alerte les valeurs pour les réutiliser dans ta classe: par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Class Alerte
    {
    public:
    Alerte(string, string)
    private:
    string username;
    string mdp;
    };
    comme ca dans les autres méthodes tu peux réutiliser les valeurs voulues...

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Par défaut
    Je pense avoir mal compris vu que ça ne fonctionne pas...
    Désolé je galère un peu...

    Donc en résumé je vais avoir ça :

    requetes_alertes.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    QString PostVariable ="username=";
    PostVariable+=username_tconfig;
    PostVariable+="&password=";
    PostVariable+=mdp_tconfig;
    requetes_alertes.h
    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
    16
    17
    18
    19
    20
     
    ...
     
    class Alerte : public QDialog
    {
        Q_OBJECT
     
    private:
        QHttp *http;
        QString username_tconfig;
        QString mdp_tconfig;
     
    public:
        Alerte(QString, QString);
     
    public slots:
        void requete();
    };
     
    ...
    Et dans mon fichier tconfig.cpp :
    j'apelle comme ça :
    Merci !

  10. #10
    Membre éclairé Avatar de gassi64
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 255
    Par défaut
    Avec Alerte(QString s1, QString s2){ userName=s1; mdp=s2;} ?
    strebyzar

Discussions similaires

  1. Problème x-lint lors de la compilation
    Par lamnaouer dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 20/09/2012, 19h54
  2. Problème d'affichage lors de la compilation
    Par addihoub dans le forum OpenCV
    Réponses: 10
    Dernier message: 10/01/2012, 06h01
  3. Problème avec Sqlite lors de la compilation
    Par Jiyuu dans le forum Déploiement/Installation
    Réponses: 6
    Dernier message: 28/11/2009, 18h32
  4. Problème de réseau lors d'un compilation
    Par ysandral dans le forum Réseau
    Réponses: 1
    Dernier message: 08/04/2008, 12h03
  5. Réponses: 7
    Dernier message: 27/09/2005, 21h40

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