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 :

erreur QtSSLSocket Qt 4.5


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Par défaut erreur QtSSLSocket Qt 4.5
    Salut
    je veux réaliser une connexion SSL en utilisant QtSSLSocket comme décrit dans le lien http://qt-quarterly.developpez.com/q...re-networking/
    lors de la compilation il me génère les deux erreurs suivantes

    error: ISO C++ forbids declaration of `QtSSLSocket' with no type
    error: expected `;' before '*' token

    j'ai essayé de cocher tous les modules lors de la création d'un nouveau projet mais ça na pas marché, donc je ne sais pas comment résoudre ce problème.

    si vous avez des idées merci de me les indiquer.

  2. #2
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut
    Citation Envoyé par archer Voir le message
    error: ISO C++ forbids declaration of `QtSSLSocket'
    Or la classe s'appelle QSSLSocket et pas QtSslSocket (la deuxième erreur découlant de la première).

    Ceci dit, tu as une excuse: la typo est présente dans le tutoriel.
    Il faudrait que tu préviennes son auteur (kinji1).

  3. #3
    Membre éclairé Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Par défaut
    salut,
    Merci pour la réponse, mais ça ne marche pas, voici le client.h que j'utilise:
    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
    #ifndef CLIENT_H
    #define CLIENT_H
    #include <QtCore/QCoreApplication>
    #include <QtNetwork>
    #include <QSsl>
    #include <QSslSocket>
     
    class Client : public QObject
    {
        Q_OBJECT
     
    public:
     
        Client(const QString & host, int port);
     
    signals:
        void responseReceived();
     
    private slots:
        void waitForGreeting();
        void readResponse();
        void displayCertError(int, const QString & reason);
     
    private:
     
        QSslSocket *socket;
    };
     
    #endif // CLIENT_H
    ça donne les mêmes erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    error: ISO C++ forbids declaration of `QSslSocket' with no type
    error: expected `;' before '*' token
    merci encore une fois

  4. #4
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut
    As-tu également pensé à vérifier que ton fichier de projet (le fichier en .pro) inclut bien le module 'QtNetwork' en spécifiant un truc dans le genre:
    Si tu as une licence commerciale, vérifie également que ta version de Qt est bien la Qt Full Framework Edition (et pas la Qt GUI Framework Edition qui n'inclut pas le module QtNetwork) ?

    PS: Ca ne t'empêche pas de prévenir l'auteur du tuto pour la typo, hein

  5. #5
    Membre éclairé Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Par défaut
    voici une copie de .pro
    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
    # -------------------------------------------------
    # Project created by QtCreator 2009-05-13T10:25:32
    # -------------------------------------------------
    QT += network \
        opengl \
        script \
        sql \
        svg \
        webkit \
        xml \
        xmlpatterns \
        phonon \
        qt3support \
        testlib \
        dbus
    TARGET = ssl
    CONFIG += console
    CONFIG -= app_bundle
    TEMPLATE = app
    SOURCES += main.cpp \
        client.cpp
    HEADERS += client.h
    j'utilise "Qt SDK by Nokia v2009.01 (open source)", j'ai déja utilisé le FTP, http et XML sans problème

  6. #6
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut
    La version de tes libs de Qt a-t-elle bien été compilée avec le support des openSSL ?

    Attention: quand on compile la librairie Qt il faut obligatoirement avoir installé au préalable les librairies openSSL. Parce que sinon, même si on a coché l'option 'openSSL' support, le support du SSL ne sera pas inclus (une sorte de simple warning est écrit dans le log de compilation, mais la compilation se termine néanmoins avec succès).

    Télécharge donc openSSL, installe-le et note le chemin du répertoire.

    Puis reconfigure Qt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    configure -openssl -I Z:\openssl\include -L Z:\openssl\lib\VC -qt-libjpeg -qt-libtiff -qt-libmng -qt-libpng -qt-gif -qt-zlib -release
    Et enfin recompile ta librairie Qt.

    EDIT: une façon simple de tester si tu as le support SSL dans ta librairie Qt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Client::Client : QObject(0) {
        #ifndef QT_NO_OPENSSL
            qDebug("SSL: activé");
        #else
            qDebug("SSL: désactivé");
        #endif
    }

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

Discussions similaires

  1. Erreur fréquente avec ASP et IIS
    Par Community Management dans le forum ASP
    Réponses: 2
    Dernier message: 11/02/2004, 22h20
  2. Check Url pour savoir si erreur 404 ou si le site existe
    Par Clément[Delphi] dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/08/2002, 13h49
  3. Réponses: 2
    Dernier message: 27/05/2002, 19h46
  4. erreur IDL:omg.org/CORBA/MARSHAL:1.0
    Par Pinggui dans le forum CORBA
    Réponses: 3
    Dernier message: 13/05/2002, 15h05
  5. [Kylix] Erreur objet
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h41

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