Ответ 1
Установите последнюю версию openSSL.
yum install openssl
, yum install libssl-dev.
.
И добавьте QT + = сеть в ваш .pro файл
Источник: http://codeblog.vurdalakov.net/2009/11/solution-qsslsocket-cannot-call.html
Я попытался запустить простую программу, написанную с помощью Qt и QSslSocket. Я запускаю эту программу на машине Ubuntu 12.04 с установленным OpenSSL. Но я получил следующие ошибки:
QSslSocket: cannot call unresolved function SSLv3_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
Как я могу исправить эти ошибки?
Установите последнюю версию openSSL.
yum install openssl
, yum install libssl-dev.
.
И добавьте QT + = сеть в ваш .pro файл
Источник: http://codeblog.vurdalakov.net/2009/11/solution-qsslsocket-cannot-call.html
В Windows/MinGW вам необходимо скопировать эти файлы в каталог exe.
C:\Qt\Tools\mingw492_32\opt\bin\libeay32.dll
C:\Qt\Tools\mingw492_32\opt\bin\ssleay32.dll
Или вы можете скопировать их в C:\Qt\Tools\mingw492_32\bin
, если хотите, чтобы он работал со всеми вашими приложениями. Очевидно, вам нужно распространять их с вашей программой.
На самом деле вам не нужно добавлять QT += network
.
У меня была такая же проблема с QT 5.0.1 и QT 5.1.1, и, наконец, я понял, что мне нужно скопировать DLL файлы OpenSSL рядом с двоичным файлом приложения. По какой-то причине QT не загружает файлы DLL из Пути Windows...
Я использовал OpenSSL Win32 0_9_8y
Для Ubuntu или (на базе Linux на базе Debian) установите openssl и libssl-dev
то есть. sudo apt-get install openssl libssl-dev.
Для Red Hat Fedora, CentOS (на основе rpm linux) установите openssl и openssl-devel
то есть. yum install openssl openssl-devel
Вам необходимо включить этот файл:
#include <QtNetwork>
И в вашем файле .pro
добавьте эту строку:
QT += network
Установка пакета lua-openssl на debian, похоже, решила проблему для меня.