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

Discussion :

Erreur à la création de QLabel

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 239
    Par défaut Erreur à la création de QLabel
    Bonjour,

    J'ai ce qu'il semble être une erreur d'allocation de mémoire, et je n'y connais encore rien sur la chose.
    Sans savoir si ce problème est en particulier dû à Qt ou au C++ en général, étant donné que c'est en utilisant Qt que je l'obtiens, je me permet de poster ici

    J'essaie donc de créer des QLabel, aucune erreur à la compilation mais lorsque je ferme le programme après son exécution, j'ai une erreur sur la mémoire :
    "Erreur d'application"
    "l'instruction à <"une adresse mémoire"> emploie l'adresse mémoire <"la même adresse mémoire">. La mémoire ne peut pas être "read" "
    J'ai donc tout mis en commentaire, et je me suis aperçu que c'était un groupe de QLabel qui posait problème (donc pas tous les QLabel que j'avais dans ma classe), J'ai alors changé et mis des QLineEdit à la place, pour vérifier... Et le groupe me posant problème s'est rétréci, mais le problème persiste...

    Ai-je un problème de mémoire "sur le tas" ? (je précise que je n'effectue que des "new" pour créer mes QLabel/QLineEdit...)

    j'ai vu sur la FAC C++, qu'il y avait différente manière d'allouer plus de mémoire à son programme, est-ce là ce qu'il me faut ?
    Ou le problème vient de mon utilisation de Qt et peut être réglé avec ?

    EDIT : j'ai peut être pas placé le sujet au bon endroit pas contre :-/

  2. #2
    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
    et si mettait un peu de code???

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 239
    Par défaut
    Tout de suite,

    Voici le .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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    #ifndef FICHECOMPTAPRO_H
    #define FICHECOMPTAPRO_H
     
    #include <QWidget> // inheriting class's header file
    #include <QtGui>
     
     
    class FicheComptaPro : public QWidget
    {
    	public:
    		FicheComptaPro();
     
    	private:
            void initTableau();
            void initWidget();
     
            QLabel *titre;
            QLabel *LABELcodeP;
            QLineEdit *codeP;
            QPushButton *rechercherButton;
            QLabel *label_3;
            QComboBox *choixTrimestre;
            QLineEdit *choixAnnee;
            QTableWidget *tableWidget;
     
            QLineEdit *mois1;
            QLineEdit *mois2;
            QLineEdit *mois3;
            QLineEdit *locataire1;
            QLineEdit *locataire2;
            QLineEdit *locataire3;
            QLineEdit *loyer1;
            QLineEdit *loyer2;
            QLineEdit *loyer3;
            QLineEdit *provCharges1;
            QLineEdit *provCharges2;
            QLineEdit *provCharges3;
            QLineEdit *regul1;
            QLineEdit *regul2;
            QLineEdit *regul3;
            QLineEdit *total1;
            QLineEdit *total2;
            QLineEdit *total3;
            QLineEdit *totalLoyer;
            QLineEdit *totalProvCharges;
            QLineEdit *totalRegul;
            QLineEdit *totalMax;
     
     
    };
     
    #endif // FICHECOMPTAPRO_H
    Et le .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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    FicheComptaPro::FicheComptaPro()
    {
    	resize(737, 637);
     
        initTableau();
        initWidget();
     
    }
     
     
    void FicheComptaPro::initTableau()
    {
        tableWidget = new QTableWidget(this);
     
        if (tableWidget->columnCount() < 6)
            tableWidget->setColumnCount(6);
        QTableWidgetItem *__colItem = new QTableWidgetItem();
        tableWidget->setHorizontalHeaderItem(0, __colItem);
        QTableWidgetItem *__colItem1 = new QTableWidgetItem();
        tableWidget->setHorizontalHeaderItem(1, __colItem1);
        QTableWidgetItem *__colItem2 = new QTableWidgetItem();
        tableWidget->setHorizontalHeaderItem(2, __colItem2);
        QTableWidgetItem *__colItem3 = new QTableWidgetItem();
        tableWidget->setHorizontalHeaderItem(3, __colItem3);
        QTableWidgetItem *__colItem4 = new QTableWidgetItem();
        tableWidget->setHorizontalHeaderItem(4, __colItem4);
        QTableWidgetItem *__colItem5 = new QTableWidgetItem();
        tableWidget->setHorizontalHeaderItem(5, __colItem5);
     
        tableWidget->horizontalHeaderItem(0)->setText("Mois");
        tableWidget->horizontalHeaderItem(1)->setText("Locataire");
        tableWidget->horizontalHeaderItem(2)->setText("Loyer");
        tableWidget->horizontalHeaderItem(3)->setText("Prov. Charges");
        tableWidget->horizontalHeaderItem(4)->setText("Régul.");
        tableWidget->horizontalHeaderItem(5)->setText("Total");
     
        if (tableWidget->rowCount() < 4)
            tableWidget->setRowCount(4);
        QTableWidgetItem *__rowItem = new QTableWidgetItem();
        tableWidget->setVerticalHeaderItem(0, __rowItem);
        QTableWidgetItem *__rowItem1 = new QTableWidgetItem();
        tableWidget->setVerticalHeaderItem(1, __rowItem1);
        QTableWidgetItem *__rowItem2 = new QTableWidgetItem();
        tableWidget->setVerticalHeaderItem(2, __rowItem2);
        QTableWidgetItem *__rowItem3 = new QTableWidgetItem();
        tableWidget->setVerticalHeaderItem(3, __rowItem3);
     
        tableWidget->verticalHeaderItem(0)->setText("");
        tableWidget->verticalHeaderItem(1)->setText("");
        tableWidget->verticalHeaderItem(2)->setText("");
        tableWidget->verticalHeaderItem(3)->setText("");
     
     
        tableWidget->setGeometry(QRect(30, 190, 610, 144));
        tableWidget->setRowCount(4);
        tableWidget->setColumnCount(6);
     
        tableWidget->setSpan(3, 0, 0, 2);
        QLabel *hide = new QLabel("<h2>Totaux</h2>", this);
           hide->setAlignment(Qt::AlignRight);
        tableWidget->setCellWidget(3, 0, hide);   
    }
     
    void FicheComptaPro::initWidget()
    {
        titre = new QLabel("<h1>Comptabilité Propriétaire</h1>", this);
           titre->setGeometry(0, 0, 741, 81);
           titre->setAlignment(Qt::AlignCenter);
        LABELcodeP = new QLabel("Code Proprio :", this);
           LABELcodeP->setGeometry(20, 100, 71, 21);
        codeP = new QLineEdit(this);;
           codeP->setGeometry(90, 100, 51, 21);
           codeP->setAlignment(Qt::AlignRight);
        rechercherButton = new QPushButton("rechercher", this);
           rechercherButton->setGeometry(480, 150, 75, 21);
        label_3 = new QLabel("DECOMPTE DES LOYERS ET CHARGES DU", this);
           label_3->setGeometry(50, 150, 201, 21);
        choixTrimestre = new QComboBox(this);
           choixTrimestre->setGeometry(250, 150, 141, 21);
           choixTrimestre->addItem(tr("PREMIER TRIMESTRE"));
           choixTrimestre->addItem(tr("DEUXIEME TRIMESTRE"));
           choixTrimestre->addItem(tr("TROISIEME TRIMESTRE"));
           choixTrimestre->addItem(tr("QUATRIEME TRIMESTRE"));
        choixAnnee = new QLineEdit("2008", this);
           choixAnnee->setGeometry(400, 150, 31, 21);
           choixAnnee->setAlignment(Qt::AlignRight);
     
     
    //    mois1 = new QLineEdit("Janvier", this);
    //       mois1->setAlignment(Qt::AlignCenter);
    //    mois2 = new QLineEdit("Février", this);
    //       mois2->setAlignment(Qt::AlignCenter);
    //    mois3 = new QLineEdit("Mars", this);
    //       mois3->setAlignment(Qt::AlignCenter);
    //    locataire1 = new QLineEdit(this);
    //    locataire2 = new QLineEdit(this);
    //    locataire3 = new QLineEdit(this);
    //    loyer1 = new QLineEdit(this);
    //       loyer1->setAlignment(Qt::AlignRight);
    //    loyer2 = new QLineEdit(this);
    //       loyer2->setAlignment(Qt::AlignRight);
    //    loyer3 = new QLineEdit(this);
    //       loyer3->setAlignment(Qt::AlignRight);
    //    provCharges1 = new QLineEdit(this);
    //       provCharges1->setAlignment(Qt::AlignRight);
    //    provCharges2 = new QLineEdit(this);
    //       provCharges2->setAlignment(Qt::AlignRight);
    //    provCharges3 = new QLineEdit(this);
    //       provCharges3->setAlignment(Qt::AlignRight);
    //    regul1 = new QLineEdit(this);
    //       regul1->setAlignment(Qt::AlignRight);
    //    regul2 = new QLineEdit(this);
    //       regul2->setAlignment(Qt::AlignRight);
    //    regul3 = new QLineEdit(this);
    //       regul3->setAlignment(Qt::AlignRight);
    //    total1 = new QLineEdit(this);
    //       total1->setAlignment(Qt::AlignRight);
    //    total2 = new QLineEdit(this);
    //       total2->setAlignment(Qt::AlignRight);
    //    total3 = new QLineEdit(this);
    //       total3->setAlignment(Qt::AlignRight);
    //    totalLoyer = new QLineEdit(this);
    //       totalLoyer->setAlignment(Qt::AlignRight);
    //    totalProvCharges = new QLineEdit(this);
    //       totalProvCharges->setAlignment(Qt::AlignRight);
    //    totalRegul = new QLineEdit(this);
    //       totalRegul->setAlignment(Qt::AlignRight);
    //    
    //    totalMax = new QLineEdit(this);
    //       totalMax->setAlignment(Qt::AlignRight);            
     
    //    tableWidget->setCellWidget(0,0,mois1);
    //    tableWidget->setCellWidget(1,0,mois2);
    //    tableWidget->setCellWidget(2,0,mois3);
    //    tableWidget->setCellWidget(0,1,locataire1);
    //    tableWidget->setCellWidget(1,1,locataire2);
    //    tableWidget->setCellWidget(2,1,locataire3);
    //    tableWidget->setCellWidget(0,2,loyer1);
    //    tableWidget->setCellWidget(1,2,loyer2);
    //    tableWidget->setCellWidget(2,2,loyer3);
    //    tableWidget->setCellWidget(3,2,totalLoyer);
    //    tableWidget->setCellWidget(0,3,provCharges1);
    //    tableWidget->setCellWidget(1,3,provCharges2);
    //    tableWidget->setCellWidget(2,3,provCharges3);
    //    tableWidget->setCellWidget(3,3,totalProvCharges);
    //    tableWidget->setCellWidget(0,4,regul1);
    //    tableWidget->setCellWidget(1,4,regul2);
    //    tableWidget->setCellWidget(2,4,regul3);
    //    tableWidget->setCellWidget(3,4,totalRegul);
    //    tableWidget->setCellWidget(0,5,total1);
    //    tableWidget->setCellWidget(1,5,total2);
    //    tableWidget->setCellWidget(2,5,total3);
    //    tableWidget->setCellWidget(3,5,totalMax);
    }
    Les lignes entre commentaire sont les déclarations qui me posent problème, ici les QLabel ont été remplacés par des QLineEdit mais le problème reste le même...

    Merci d'avance !

    EDIT: j'ajoute quand même me main.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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    #include <QApplication>
    #include <QtDebug>
    #include "FenetrePrinc.h"
    #include "FicheComptaPro.h"
    #include "OpenFiche.h"
     
     
     
    int main(int argc, char *argv[])
    {
         Q_INIT_RESOURCE(application); 
     
         QApplication app(argc, argv);
     
    //     FenetrePrinc *fenetrePrincipale = new FenetrePrinc;
    //     fenetrePrincipale->show();
     
    //     FicheComptaLoc *fiche = new FicheComptaLoc;
    //     fiche->show();
     
           FicheComptaPro *fiche2 = new FicheComptaPro;
           fiche2->show();
     
     
         return app.exec();
    }

  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
    Tu devrait un peu plus structurer ton code et utiliser quelque regle de programmation.... Il n'est pas très lisible

    as tu essayé de commenter une après l'autre les ligne stableWidget->setCellWidget ?

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 239
    Par défaut
    Sans avoir plus de connaissance sur le sujet, ça ressemble bien à un problème d'allocation sur la mémoire,

    Je viens d'enlever mon #include "fenetreprinc.h" dans mon main.cpp, et ça passe très bien...

    Cette classe contient toute les autres classe en #include, donc je suppose que ça fait bcp de QLabel, QLineEdit au total.
    Comment gerer ça donc ?
    Car je vais avoir besoin de tout ce que j'ai fais jusqu'à présent.

    Merci d'avance !

    EDIT : Pour te répondre, Mongaulois, je n'ai pas eu besoin de les commenter ces lignes, car c'est à la construction de mes QLabel/QLineEdit, que j'ai le problème et c'est sur ça que j'ai joué. Sur les new donc

    Pour la structure de mon code, je l'ai faite vraiment à la va-vite car je voulais avancer, et j'ai fais aussi quelques copier/coller du code généré par QtDesigner

  6. #6
    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
    tu as essaye un debugger pour voir ou il plante??

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 239
    Par défaut
    Je n'ai pas essayé de debugger non, mais je sais qu'il plante à la fermeture.

    Je vais voir ce que je peux faire, mais je ne sais pas trop débugger moi, ce que je fais d'habitude et d'ajouter de qDebug() à certains endroits clés pour voir si le programme y passe (en incluant CONFIG += console à mon .PRO).

    Faut-il que je compile le débug ? (je l'avais fais pour Qt 4.3, mais je suis passé au 4.4 et je ne l'ai pas refais car je ne m'en servais pas du coup)

  8. #8
    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 Somato Voir le message
    Je n'ai pas essayé de debugger non, mais je sais qu'il plante à la fermeture.

    Je vais voir ce que je peux faire, mais je ne sais pas trop débugger moi, ce que je fais d'habitude et d'ajouter de qDebug() à certains endroits clés pour voir si le programme y passe (en incluant CONFIG += console à mon .PRO).

    Faut-il que je compile le débug ? (je l'avais fais pour Qt 4.3, mais je suis passé au 4.4 et je ne l'ai pas refais car je ne m'en servais pas du coup)
    C'est toujours préférable de faire du debug pour utiliser un debugger

  9. #9
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 239
    Par défaut
    Oui, je m'en doute de loin.

    Ce que je voulais plutot demander, c'est :
    est ce que le qDebug() "habituel" (comme je l'utilise) suffit pour trouver se type d'erreur ? (sachant que si le prog plante lorsqu'on le ferme et que je gère pas de destructeur, je ne sais pas comment faire, si tout du moins ça reste possible)

    Ou, est ce qu'il faut que je passe par la compilation de la "debug librairy" de Qt, que je n'ai jamais vraiment utilisé car n'ai jamais vu de différence avec l'utilisation de qDebug() dans mon code et l'ajout de CONFIG += console dans mon .PRO...

  10. #10
    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 Somato Voir le message
    est ce que le qDebug() "habituel" (comme je l'utilise) suffit pour trouver se type d'erreur ? (sachant que si le prog plante lorsqu'on le ferme et que je gère pas de destructeur, je ne sais pas comment faire, si tout du moins ça reste possible)
    De manière plus compliqué oui.
    Mais bon le debugger te permet tout de même de faire du pas à pas, d'executer ton programme et savoir ou il as planté, de faire des point d'arrêt.....

  11. #11
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 239
    Par défaut
    Ok, je vais compiler de ce pas la debug library alors.

    Et je vais voir comment l'utiliser.
    Je reviendrais faire le point sur les erreurs rencontrées si le debug en trouve...

  12. #12
    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,

    J'ai pas pris le temps de lire ton code, mais j'ai eu un problème similaire y' a pas très longtemps, et l'erreur était toute simple.

    En fait, en faisant les copier/coller, j'avais attribué le même pointeur d'item sur 2 cases de mon QTableWIdget. Resultat : le destructeur du tableau détruit cellules par cellules les items, et si tu as deux cases qui pointent sur le même item, la première fois il est détruit, et la deuxième, ben ... bug !

    Regarde attentivement si tu n'as pas fait ce genre d'erreur, c'est déjà une piste à explorer.

    Bonne chance,

    G.

  13. #13
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 239
    Par défaut
    Salut,

    ça ne m'a pas vraiment traversé l'esprit étant donné que c'est un groupe de label, lors de leur création, qui pose problème. (alors que je ne les plaçaient pas encore dans le tableau).

    Du plus, le problème se règle lorsque j'enlève l'include vers une autre classe de mon projet dans le main.cpp (cette autre classe est ma fenêtre principale, et possède elle même d'autres include vers d'autre classe gérant la GUI de mon prog : donc bcp de QLabel, QLineEdit, ... de créé de ce coté).

    Du coup, j'attends que la build debug se termine, je vais vérifier le tableau tout de même...

    Merci pour l'aide

  14. #14
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 239
    Par défaut
    Le problème s'est réglé de lui même en jouant sur les includes, je n'ai rien changé d'autre... Peut être qu'il fallait recompiler une certaine partie de code... Je ne sais pas trop comment la compilation se fait en fait, est ce qu'il y a un moyen de recompiler tout le projet grâce à une commande ?

    Apparemment make release ne compile que ce qui à été modifié, et j'ai cru voir quelque part, peut être dans la faq C++, je ne sais plus :s, qu'il était parfois bon de tout recompiler lors d'erreur d'allocation de mémoire...

    J'espère que ça ne me ferra pas le coup à chaque QLabel ajouté au code, ou quoique ce soit.

    Merci bien encore une fois, et à bientôt.

  15. #15
    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
    Tu utilises quel IDE ?

    En général : execute le clean de tes makefiles, ce qui a pour conséquence de supprimer les fichiers makefile de ton projet, et tous ceux crées à partir d'eux avec "make".
    En gros, ça fait le ménage, et il ne te reste plus que tes sources, ton .pro, et disons les fichiers annexe (images, ui, etc...)
    Après, pour recompiler, tu n'as qu'a faire :Dans les IDE, cela est souvent appelé "Build" et "Rebuild", et tu peux souvent définir toi même les procédures associées à ces deux constructions. Dans notre cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Build = qmake && nmake
    Rebuild = make distclean && qmake && nmake
    Voilà pour l'info. Pour en revenir à ton problème, ton histoire d'include est bizarre, on pourrait avoir des détails ? Et sinon, les includes ne créent pas d'objet, donc tu as beau inclure 1000 fois ton fichier, ça ne change rien. En plus tu as bien ajouté la balise qui evite d'inclure 2 fois le même fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #ifndef blabla
    #define blabla
    ...
    #endif
    Et quoi qu'il arrive, tu peux déjà déclarer pas mal de QLabel avant de saturer ta RAM .

    G.

  16. #16
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 239
    Par défaut
    Et quoi qu'il arrive, tu peux déjà déclarer pas mal de QLabel avant de saturer ta RAM .
    C'est ce que je me disais aussi, mon projet n'est pas si imposant que ça...

    J'utilise DevC++, mais cela n'a pas d'importance étant donné qu'il ne me sert que pour écrire le code.

    Je compile avec l'invite de commande.

    Merci pour les infos, si je rencontre à nouveau ce problème, j'effectuerai d'abord un distclean.

    Pour le problème d'include, hélas j'en sais pas plus, tout c'est passé dans le main.cpp, c'est tout ce que je peux dire.
    J'ai enlever le #include "fenetreprinc.h", puis rajouté, et basta, plus rien...

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

Discussions similaires

  1. erreur à la création d'objet
    Par mencaglia dans le forum C++
    Réponses: 4
    Dernier message: 14/03/2006, 11h24
  2. [Sessions] Message erreur PHP création de session
    Par Ylias dans le forum Langage
    Réponses: 2
    Dernier message: 29/09/2005, 11h11
  3. Réponses: 26
    Dernier message: 27/04/2005, 11h29
  4. Réponses: 3
    Dernier message: 12/11/2003, 15h57

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