2010-12-03 6 views
4

Mon application jette les erreurs sur les fenêtres suivantes:Qt - Erreur SLL sur Windows

QSslSocket: ne peut pas appeler la fonction non résolue SSLv3_client_method

QSslSocket: ne peut pas appeler la fonction non résolue de

de QSslSocket: ne peut pas appeler non résolue fonction SSL_library_init

QSslSocket: ne peut pas appeler la fonction non résolue ERR_get_error

QSslSocket: impossible d'appeler la fonction non résolue ERR_error_string

J'ai déjà installé les redistribuables VS C++ et OpenSSL mais je ne sais pas comment dire à Qt de lier dynamiquement openSSL. J'utilise la version LGPL des binaires Qt et Qt Creator sous Windows 7 (la version Linux fonctionne très bien)

Répondre

4

Pour une raison quelconque, Qt ne traitait pas très bien les dll téléchargés à partir de Win32 OpenSSL Installation Project . Comme je l'avais remarqué que l'application s'est bien déroulée sur les machines avec Tortoise Svn installé je viens de copier les dll fournies avec Tortoise et cela a très bien fonctionné pour moi. Je sais, c'est bizarre que ces dll fonctionnent et celles du projet d'installation de Win32 OpenSSL ne l'ont pas fait, mais pour l'instant la copie des dlls du dossier d'installation de Tortoise Svn a résolu mon problème.

+0

qui sont ces fichiers DLL ou vous suffit de copier tous les fichiers? – shackra

+0

Même problème pour moi. Lorsque j'installe Ruby22-x64 et Qt trouve ssleay32.dll livré avec ruby, l'application Qt mine commence à se briser. – ibre5041

4

Téléchargez les derniers binaires de pré-compilation OpenSSL à partir de ce website.

J'ai utilisé Win32 OpenSSL v0.9.8r Light car il y a un débat sur la version v1. [Les outils du client sont corrects, vous n'avez pas besoin de la distribution complète]

Assurez-vous que vous installez les DLL de sorte qu'ils sont visibles dans le chemin de Windows. Non plus;

  • les fenêtres/system32
  • le répertoire d'applications
  • ou ajouter l'emplacement des DLLs au chemin Enviroment variables

Cela fonctionne pour moi avec Qt v4.6.2