У меня есть приложение, которое использует класс QWebSocket, но не SSL. Он отлично работает, когда я выполняю версию, скомпилированную с Qt 5.3, но исполняемый файл Qt 5.7 зависает при следующих предупреждениях:
QSslSocket: cannot resolve CRYPTO_num_locks
QSslSocket: cannot resolve CRYPTO_set_id_callback
QSslSocket: cannot resolve CRYPTO_set_locking_callback
QSslSocket: cannot resolve ERR_free_strings
QSslSocket: cannot resolve EVP_CIPHER_CTX_cleanup
QSslSocket: cannot resolve EVP_CIPHER_CTX_init
QSslSocket: cannot resolve sk_new_null
QSslSocket: cannot resolve sk_push
QSslSocket: cannot resolve sk_free
QSslSocket: cannot resolve sk_num
QSslSocket: cannot resolve sk_pop_free
QSslSocket: cannot resolve sk_value
QSslSocket: cannot resolve SSL_library_init
QSslSocket: cannot resolve SSL_load_error_strings
QSslSocket: cannot resolve SSL_get_ex_new_index
QSslSocket: cannot resolve SSLv2_client_method
QSslSocket: cannot resolve SSLv3_client_method
QSslSocket: cannot resolve SSLv23_client_method
QSslSocket: cannot resolve SSLv2_server_method
QSslSocket: cannot resolve SSLv3_server_method
QSslSocket: cannot resolve SSLv23_server_method
QSslSocket: cannot resolve X509_STORE_CTX_get_chain
QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
QSslSocket: cannot resolve SSLeay
QSslSocket: cannot resolve SSLeay_version
QSslSocket: cannot call unresolved function CRYPTO_num_locks
QSslSocket: cannot call unresolved function CRYPTO_set_id_callback
QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function sk_num
Я не вижу этих предупреждений в версии 5.3 (что работает правильно), что говорит о том, что я не должен игнорировать их как задано в этом вопросе. Кроме того, QT += network
уже находится в моем src.pro.
Мне повезло, что Debian отбросил эти символы из пакета openssl. Может ли кто-нибудь сказать мне, что здесь происходит и как я могу это исправить?
Информация о системе
Я работаю на растяжке Debian
$ uname -r
4.8.0-2-amd64
У меня установлены openssl и libssl-dev
openssl is already the newest version (1.1.0c-2).
libssl-dev is already the newest version (1.1.0c-2).
Я попытался запустить это с помощью Qt 5.3 и 5.7
$ qmake -v
QMake version 3.0
Using Qt version 5.7.1 in /usr/lib/x86_64-linux-gnu