Qt - ошибка SLL в Windows - PullRequest
       46

Qt - ошибка SLL в Windows

6 голосов
/ 03 декабря 2010

Мое приложение выдает следующие ошибки в Windows:

QSslSocket: невозможно вызвать неразрешенную функцию SSLv3_client_method

QSslSocket: невозможно вызвать неразрешенную функцию SSL_CTX_new

QSslSocket: невозможно вызвать неразрешенную функцию SSL_library_init

QSslSocket: невозможно вызвать неразрешенную функцию ERR_get_error

QSslSocket: невозможно вызвать неразрешенную функцию ERR_error_string

Я уже установил распространяемые файлы VS C ++ и OpenSSL, но я не знаю, как сказать Qt динамически связываться с openSSL. Я использую LGPL-версию бинарных файлов Qt и Qt Creator для Windows 7 (сборка Linux работает просто отлично)

Ответы [ 2 ]

4 голосов
/ 03 мая 2011

Загрузите последние версии готовых двоичных файлов OpenSSL с этого веб-сайта .

Я использовал Win32 OpenSSL v0.9.8r Light , поскольку есть некоторые споры о выпуске v1.[Клиентские инструменты в порядке, вам не нужен полный дистрибутив]

Убедитесь, что вы установили библиотеки DLL так, чтобы они были видны в пути Windows.Либо;

  • каталог windows / system32
  • каталог приложения
  • или добавление местоположения dll в переменную окружения пути

Это работает для меня с Qt v4.6.2

4 голосов
/ 08 декабря 2010

По какой-то причине Qt не очень хорошо справлялся с библиотеками, загруженными из Win32 OpenSSL Installation Project.Поскольку я заметил, что приложение работало без проблем на машинах с установленной Tortoise Svn, я просто скопировал dll, поставляемый с Tortoise, и это очень хорошо для меня работало.

Я знаю, странно, что эти dll работали, а те изПроект установки Win32 OpenSSL не сделал, но пока копирование dll из папки установки Tortoise Svn решило мою проблему.

...