Partage
  • Partager sur Facebook
  • Partager sur Twitter

Qt 4.10.2 erreur d’exécution

erreur n° 1073741515

Sujet résolu
    22 février 2020 à 11:45:55

    bonjour lors de l'exécution de mon projet (chat client) je tombe sur une erreur  :-1: erreur : [ui_FenClient.h] Error -1073741515

    voicie mes code:

    le .pro

    QT += widgets
    TEMPLATE = app
    CONFIG += release
    QT += network
    TARGET = 
    DEPENDPATH += .
    INCLUDEPATH += .
    
    # Input
    HEADERS += \
        FenClient.h
    FORMS += \
        FenClient.ui
    SOURCES += \
        FenClient.cpp \
        main.cpp
    


    le main

    #include <QApplication>
    #include "FenClient.h"
    
    int main(int argc, char* argv[])
    {
        QApplication app(argc, argv);
    
        FenClient fenetre;
        fenetre.show();
    
        return app.exec();
    }
    

    FenClient.h

    #ifndef HEADER_FENCLIENT
    #define HEADER_FENCLIENT
    
    #include <QtGui>
    #include <QtNetwork>
    #include "ui_FenClient.h"
    
    
    class FenClient : public QWidget, private Ui::FenClient
    {
        Q_OBJECT
    
        public:
            FenClient();
    
        private slots:
            void on_boutonConnexion_clicked();
            void on_boutonEnvoyer_clicked();
            void on_message_returnPressed();
            void donneesRecues();
            void connecte();
            void deconnecte();
            void erreurSocket(QAbstractSocket::SocketError erreur);
    
        private:
            QTcpSocket *socket; // Repr�sente le serveur
            quint16 tailleMessage;
    };
    
    #endif
    

    FenClient.cpp

    #include "FenClient.h"
    
    FenClient::FenClient()
    {
        setupUi(this);
    
        socket = new QTcpSocket(this);
        connect(socket, SIGNAL(readyRead()), this, SLOT(donneesRecues()));
        connect(socket, SIGNAL(connected()), this, SLOT(connecte()));
        connect(socket, SIGNAL(disconnected()), this, SLOT(deconnecte()));
        connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(erreurSocket(QAbstractSocket::SocketError)));
    
        tailleMessage = 0;
    }
    
    // Tentative de connexion au serveur
    void FenClient::on_boutonConnexion_clicked()
    {
        // On annonce sur la fen�tre qu'on est en train de se connecter
        listeMessages->append(tr("<em>Tentative de connexion en cours...</em>"));
        boutonConnexion->setEnabled(false);
    
        socket->abort(); // On d�sactive les connexions pr�c�dentes s'il y en a
        socket->connectToHost(serveurIP->text(), serveurPort->value()); // On se connecte au serveur demand�
    }
    
    // Envoi d'un message au serveur
    void FenClient::on_boutonEnvoyer_clicked()
    {
        QByteArray paquet;
        QDataStream out(&paquet, QIODevice::WriteOnly);
    
        // On pr�pare le paquet � envoyer
        QString messageAEnvoyer = tr("<strong>") + pseudo->text() +tr("</strong> : ") + message->text();
    
        out << (quint16) 0;
        out << messageAEnvoyer;
        out.device()->seek(0);
        out << (quint16) (paquet.size() - sizeof(quint16));
    
        socket->write(paquet); // On envoie le paquet
    
        message->clear(); // On vide la zone d'�criture du message
        message->setFocus(); // Et on remet le curseur � l'int�rieur
    }
    
    // Appuyer sur la touche Entr�e a le m�me effet que cliquer sur le bouton "Envoyer"
    void FenClient::on_message_returnPressed()
    {
        on_boutonEnvoyer_clicked();
    }
    
    // On a re�u un paquet (ou un sous-paquet)
    void FenClient::donneesRecues()
    {
        /* M�me principe que lorsque le serveur re�oit un paquet :
        On essaie de r�cup�rer la taille du message
        Une fois qu'on l'a, on attend d'avoir re�u le message entier (en se basant sur la taille annonc�e tailleMessage)
        */
        QDataStream in(socket);
    
        if (tailleMessage == 0)
        {
            if (socket->bytesAvailable() < (int)sizeof(quint16))
                 return;
    
            in >> tailleMessage;
        }
    
        if (socket->bytesAvailable() < tailleMessage)
            return;
    
    
        // Si on arrive jusqu'� cette ligne, on peut r�cup�rer le message entier
        QString messageRecu;
        in >> messageRecu;
    
        // On affiche le message sur la zone de Chat
        listeMessages->append(messageRecu);
    
        // On remet la taille du message � 0 pour pouvoir recevoir de futurs messages
        tailleMessage = 0;
    }
    
    // Ce slot est appel� lorsque la connexion au serveur a r�ussi
    void FenClient::connecte()
    {
        listeMessages->append(tr("<em>Connexion r�ussie !</em>"));
        boutonConnexion->setEnabled(true);
    }
    
    // Ce slot est appel� lorsqu'on est d�connect� du serveur
    void FenClient::deconnecte()
    {
        listeMessages->append(tr("<em>D�connect� du serveur</em>"));
    }
    
    // Ce slot est appel� lorsqu'il y a une erreur
    void FenClient::erreurSocket(QAbstractSocket::SocketError erreur)
    {
        switch(erreur) // On affiche un message diff�rent selon l'erreur qu'on nous indique
        {
            case QAbstractSocket::HostNotFoundError:
                listeMessages->append(tr("<em>ERREUR : le serveur n'a pas pu �tre trouv�. V�rifiez l'IP et le port.</em>"));
                break;
            case QAbstractSocket::ConnectionRefusedError:
                listeMessages->append(tr("<em>ERREUR : le serveur a refus� la connexion. V�rifiez si le programme \"serveur\" a bien �t� lanc�. V�rifiez aussi l'IP et le port.</em>"));
                break;
            case QAbstractSocket::RemoteHostClosedError:
                listeMessages->append(tr("<em>ERREUR : le serveur a coup� la connexion.</em>"));
                break;
            default:
                listeMessages->append(tr("<em>ERREUR : ") + socket->errorString() + tr("</em>"));
        }
    
        boutonConnexion->setEnabled(true);
    }


    voila si vous pouvez m'aider ce serait super 

    Merci
    ☺☻

    • Partager sur Facebook
    • Partager sur Twitter
      22 février 2020 à 17:58:37

      Bonjour!

      Est-ce la seule erreur que vous avez eu?

      A vrais dire il est assez compliquer de vous aider avec cette seule erreur...

      Vous devriez exécuter le mode debug( en cliquant là où il y a la coccinelle), peu être cela donnerait il plus d'informations.

      • Partager sur Facebook
      • Partager sur Twitter
        22 février 2020 à 18:53:38

        lorsque je n'ouvre pas des dossier (header source forme) il ni a aucune erreur a part celle décrite plus haut mais quand on ouvre les dossier ça nous donne: pour le header:

         :-1: avertissement : TARGET is empty   ;   C:\...\FenClient.h:6: erreur : 'ui_FenClient.h' file not found ;  C:\...\FenClient.h:9: erreur : base class has incomplete type    ;    C:\Qt\5.9.8\mingw53_32\include\QtCore\qmetatype.h:1333: forward declaration of 'QWidget'   ;   C:\...\FenClient.h:9: erreur : use of undeclared identifier 'Ui'   ;   C:\...\FenClient.h:9: erreur : expected class name   ;   C:\...\FenClient.h:9: avertissement : 'FenClient' has virtual functions but non-virtual destructor

        pour le FenClient.cpp:

        :-1: avertissement : TARGET is empty   ;   C:\...\FenClient.cpp:5: erreur : use of undeclared identifier 'setupUi'   ;   C:\...\FenClient.cpp:7: erreur : no matching constructor for initialization of 'QTcpSocket'   ;   C:\Qt\5.9.8\mingw53_32\include\QtNetwork\qtcpsocket.h:56: candidate constructor not viable: no known conversion from 'FenClient *' to 'QObject *' for 1st argument   ;   C:\Qt\5.9.8\mingw53_32\include\QtNetwork\qtcpsocket.h:60: candidate constructor not viable: no known conversion from 'FenClient *' to 'QTcpSocketPrivate &' for 1st argument   ;   C:\Qt\5.9.8\mingw53_32\include\QtNetwork\qtcpsocket.h:65: candidate constructor not viable: no known conversion from 'FenClient *' to 'const QTcpSocket' for 1st argument   ;   C:\Qt\5.9.8\mingw53_32\include\QtCore\qglobal.h:324: expanded from macro 'Q_DISABLE_COPY'   ;   C:\Qt\5.9.8\mingw53_32\include\QtNetwork\qtcpsocket.h:61: candidate constructor not viable: requires at least 2 arguments, but 1 was provided   ;   C:\...\FenClient.cpp:8: erreur : no matching function for call to 'connect'   ;   C:\Qt\Tools\mingw530_32\i686-w64-mingw32\include\winsock.h:280: candidate function not viable: requires 3 arguments, but 4 were provided   ;   C:\...\FenClient.cpp:9: erreur : no matching function for call to 'connect'   ;   C:\Qt\Tools\mingw530_32\i686-w64-mingw32\include\winsock.h:280: candidate function not viable: requires 3 arguments, but 4 were provided   ;   C:\...\FenClient.cpp:10: erreur : no matching function for call to 'connect'   ;   C:\Qt\Tools\mingw530_32\i686-w64-mingw32\include\winsock.h:280: candidate function not viable: requires 3 arguments, but 4 were provided   ;   C:\...\FenClient.cpp:11: erreur : no matching function for call to 'connect'   ;   C:\Qt\Tools\mingw530_32\i686-w64-mingw32\include\winsock.h:280: candidate function not viable: requires 3 arguments, but 4 were provided   ;   C:\...\FenClient.cpp:20: erreur : use of undeclared identifier 'listeMessages'   ;   C:\...\FenClient.cpp:21: erreur : use of undeclared identifier 'boutonConnexion'   ;   C:\...\FenClient.cpp:24: erreur : use of undeclared identifier 'serveurIP'   ;   C:\...\FenClient.cpp:24: erreur : use of undeclared identifier 'serveurPort'   ;   C:\...\FenClient.cpp:34: erreur : use of undeclared identifier 'pseudo'   ;   C:\...\FenClient.cpp:34: erreur : use of undeclared identifier 'message'   ;   C:\...\FenClient.cpp:79: erreur : use of undeclared identifier 'listeMessages'   ;   C:\...\FenClient.cpp:88: erreur : use of undeclared identifier 'listeMessages'  ;   C:\...\FenClient.cpp:89: erreur : use of undeclared identifier 'boutonConnexion'   ;   C:\...\FenClient.cpp:95: erreur : use of undeclared identifier 'listeMessages'   ;   C:\...\FenClient.cpp:104: erreur : use of undeclared identifier 'listeMessages'   ;   C:\...\FenClient.cpp:107: erreur : use of undeclared identifier 'listeMessages'   ;   C:\...\FenClient.cpp:110: erreur : use of undeclared identifier 'listeMessages'   ;   C:\...\FenClient.cpp:113: erreur : use of undeclared identifier 'listeMessages'   ;   C:\...\FenClient.cpp:116: erreur : use of undeclared identifier 'boutonConnexion'   ;   C:\...\FenClient.cpp:36: avertissement : use of old-style cast   ;   C:\..\FenClient.cpp:39: avertissement : use of old-style cast   ;   C:\...\FenClient.cpp:39: avertissement : implicit conversion changes signedness: 'int' to 'unsigned int'   ;   C:\...\FenClient.cpp:64: avertissement : use of old-style cast

        dans main .cpp:

        :-1: avertissement : TARGET is empty   ;   :-1: avertissement : TARGET is empty   ;   :-1: avertissement : TARGET is empty   ;   C:\.

        ..\main.cpp:9: erreur : no member named 'show' in 'FenClient'

        ça fait beaucoup d’erreur incompressible surtout que j'ais fait du copier coller de https://openclassrooms.com/fr/courses/1894236-programmez-avec-le-langage-c/1902751-communiquez-en-reseau-avec-son-programme  je ne comprends donc pas d'ou elle vienne toute 

        • Partager sur Facebook
        • Partager sur Twitter
          23 février 2020 à 18:07:55

          Je crois que j'avais eu le même type de problème. Essayez peu être de créer une "application qt avec widgets", car il vous disent qu'ils ne trouvent pas les fichier ui, là tout le travail de fichiers serra déjà fait. Sinon je ne sais pas ce que vous pouvez faire.

          • Partager sur Facebook
          • Partager sur Twitter
            23 février 2020 à 18:29:34

            OK jaissai çà demain (je nais pas le droit ce soir

            • Partager sur Facebook
            • Partager sur Twitter
              24 février 2020 à 9:12:32

              Pourquoi tu fais du Qt 4 ? Qt 5 c'est sorti il y a 8 ans. Qt 4 est largement obsolète.

              • Partager sur Facebook
              • Partager sur Twitter

              git is great because Linus did it, mercurial is better because he didn't.

                27 février 2020 à 15:49:57

                Heu je ne sais pas trop car le dossier s’appelle qt 5 (C:\Qt\5.9.8)
                mais le raccourci qt 4.10.2
                et refaire le projet avec un projet qt widget mais c'est comme s’il ne le voyer même pas. Dans l'onglet des projet il apparaît pas mes il est dans le .pro je vais réinstaller qt

                -
                Edité par unel 27 février 2020 à 16:24:24

                • Partager sur Facebook
                • Partager sur Twitter
                  28 février 2020 à 17:03:48

                  OK j'ais réinstaller qt, j'ais tout refait... et ça marche pas il me met plusieurs erreur mais une seul fatale(dans la fenêtre d'exécution il y a un petit 1 et devant la ligne setupUi(this);(ligne 5 de fenclient.cpp)il y a un petit point déclamation) il met l'erreur 
                  H:\photo\c++\qt\client\FenClient.cpp:5: erreur : no matching function for call to 'FenClient::setupUi(FenClient*)'
                       setupUi(this);
                                   ^

                  apres ca pourait avoir un raport avec une erreur : 

                  H:\photo\c++\qt\client\fenclient.cpp:99: erreur : use of undeclared identifier 'QAbstractSocket'

                  ou celle ci

                  H:\photo\c++\qt\client\fenclient.h:5: erreur : 'QtNetwork' file not found



                  • Partager sur Facebook
                  • Partager sur Twitter
                    28 février 2020 à 17:41:09

                    Tu n'as pas oublié d'ajouter le module network dans le .pro de ton nouveau projet?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      2 mars 2020 à 13:47:09

                      non il y est c'est bizarre ces erreur je vais le compiler sur une autre machine au cas ou...

                      ca marche pas mais il y a dautre erreur qui apparaissent et plus celle du début  bon je ne comprends pas la signification help me:

                      :-1: avertissement : TARGET is empty
                      D:\photo\c++\qt\client\FenClient.cpp:2: In file included from ..\client\FenClient.cpp:2:0:
                      D:\photo\c++\qt\client\fenclient.ui:149: erreur : too many decimal points in number
                            <string>127.0.0.1</string>
                                    ^~~~~~~~~
                      D:\photo\c++\qt\client\fenclient.ui:1: erreur : expected unqualified-id before '<' token
                       <?xml version="1.0" encoding="UTF-8"?>
                       ^

                      -
                      Edité par unel 2 mars 2020 à 13:49:31

                      • Partager sur Facebook
                      • Partager sur Twitter
                        2 mars 2020 à 14:01:58

                        D:\photo\c++\qt\client\fenclient.ui:149: erreur : too many decimal points in number
                              <string>127.0.0.1</string>
                        Tu n'aurais pas oublié des guillemets autour de l'adresse 17.0.0.1? Je ne trouve pas de ligne où tu utilises cette adresse, c'est normal? Où est défini serveurIP?
                        • Partager sur Facebook
                        • Partager sur Twitter
                          2 mars 2020 à 14:07:41

                          L'adresse IP du serveur n'est-elle pas liée directement à la fenêtre: quand on ouvre la fenêtre on choisit l'ip du serveur ? comme je lais dit plus haut je l'ais copier coller sur https://openclassrooms.com/fr/courses/1894236-programmez-avec-le-langage-c/1902751-communiquez-en-reseau-avec-son-programme donc je ne comparent pas si il y a un problème mes si vous en voyer un je suis contents au moi ça fonctionnera 

                          -
                          Edité par unel 2 mars 2020 à 14:50:09

                          • Partager sur Facebook
                          • Partager sur Twitter
                            2 mars 2020 à 15:48:05

                            Ca donne quoi si tu remplaces 127.0.0.1 par localhost pour l'IP du serveur?
                            • Partager sur Facebook
                            • Partager sur Twitter
                              2 mars 2020 à 15:54:50

                              escuse moi mes je ne trouve pas 127.0.0.1 a quelle ligne c'est et de quelle feuille ?
                              • Partager sur Facebook
                              • Partager sur Twitter
                                2 mars 2020 à 18:40:59

                                Il faut bien que ton client spécifie l'adresse du serveur. A priori, cette valeur doit être spécifiée dans l'interface graphique.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  8 mars 2020 à 17:49:58

                                  oui dans qt design la valeur par defaut de ladres du serveur est 127.0.0.1.

                                  par contre jais tout refait sur une nouvel machine qui ne tourn pas sous Windows familiale mais sous pro: il me sort :

                                  18:14:12: Starting D:\chat\chat\build-client-Desktop_Qt_5_14_1_MinGW_64_bit-Release\client.exe ...

                                  18:14:12: Échec lors de l'exécution du programme. Mauvais chemin ou permissions ?

                                  18:14:12: D:\chat\chat\build-client-Desktop_Qt_5_14_1_MinGW_64_bit-Release\client.exe exited with code -1

                                  18:14:12: The process failed to start. Either the invoked program "D:\chat\chat\build-client-Desktop_Qt_5_14_1_MinGW_64_bit-Release\client.exe" is missing, or you may have insufficient permissions to invoke the program.

                                   déjà ce n'est plus des erreur incompressible meme si qt a tout les droit il ne devrais pas me sortir ça .

                                  18:14:12: D:\chat\chat\build-client-Desktop_Qt_5_14_1_MinGW_64_bit-Release\client.exe exited with code -1

                                   quesque le exited with code -1 ?

                                  a est aussi il y a ce message au lancement de qt

                                  Project ERROR: You need to set the ANDROID_NDK_ROOT environment variable to point to your Android NDK.

                                  Could not read qmake configuration file C:/Qt2/5.14.1/android/mkspecs/android-clang/qmake.conf.

                                  2020-03-08T18:35:25 Clang Code Model: Error: The clangbackend executable "C:\Qt2\Tools\QtCreator\bin\clangbackend.exe" could not be started (timeout after 10000ms).

                                   mettre localhost ne change rien 

                                  je las quand même mis en relese et puis jais récupère le exe je le lance je mes les dll a côté et il me sort 

                                  erreur

                                  -
                                  Edité par unel 8 mars 2020 à 19:07:42

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    8 mars 2020 à 20:55:14

                                    Quel type de projet as-tu créé?
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      9 mars 2020 à 16:37:28

                                      j'ais crée un qt widget application

                                      petite question comme CA si le code venait q'une version antérieur de QT cela pourrais t'il faire un problème ?

                                      car comme dit au dessus 

                                      EneeDiIorio1 a écrit:

                                       l'ais copier coller sur https://openclassrooms.com/fr/courses/1894236-programmez-avec-le-langage-c/1902751-communiquez-en-reseau-avec-son-programme 

                                      -
                                      Edité par EneeDiIorio1 2 mars 2020 à 14:50:09

                                      donc vue que le cour est plus ou moin vieux (les capture date du Windows 7)je crois q'il est sous QT 5.1.0 (vue sur une capture)



                                      -
                                      Edité par unel 11 mars 2020 à 14:23:04

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        31 mars 2020 à 12:19:34

                                        jais trouver il suffi de copier le dossier pudding qui se trouve   C:\Qt\5.14.1\mingw73_32\plugins
                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        Qt 4.10.2 erreur d’exécution

                                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                        • Editeur
                                        • Markdown