我在试图让QNetwork类在Ubuntu18.04上使用Qt5.11.1时遇到问题
我的系统上安装了OpenSS1.1.0g和libssl。
Qt使用的openssl版本为1.0.2k。我已经和QSslSocket::sslLibraryBuildVersionString()核实过了。加上QSslSocket::supportsSsl()返回false。
我正努力想办法解决这个问题,但我总是犯这样的错误:
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_num_locks
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_id_callback
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_locking_callback
qt.network.ssl: QSslSocket: cannot resolve ERR_free_strings
qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_cleanup
qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_init
qt.network.ssl: QSslSocket: cannot resolve sk_new_null
qt.network.ssl: QSslSocket: cannot resolve sk_push
qt.network.ssl: QSslSocket: cannot resolve sk_free
qt.network.ssl: QSslSocket: cannot resolve sk_num
qt.network.ssl: QSslSocket: cannot resolve sk_pop_free
qt.network.ssl: QSslSocket: cannot resolve sk_value
qt.network.ssl: QSslSocket: cannot resolve SSL_library_init
qt.network.ssl: QSslSocket: cannot resolve SSL_load_error_strings
qt.network.ssl: QSslSocket: cannot resolve SSL_get_ex_new_index
qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv23_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method
qt.network.ssl: QSslSocket: cannot resolve SSLv23_server_method
qt.network.ssl: QSslSocket: cannot resolve X509_STORE_CTX_get_chain
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
qt.network.ssl: QSslSocket: cannot resolve SSLeay
qt.network.ssl: Incompatible version of OpenSSL我已经检查了关于这方面的多个问题和论坛,似乎没有什么对我有用。有人知道吗?
发布于 2018-09-06 19:01:33
发布于 2018-09-13 18:24:06
我已经将libcrypto.so和libssl.so (v1.0.2)复制到当前的编译器库目录(<QTDIR>/5.11.1/gcc_64/lib)中。在我的例子中,我在/usr/lib/x86_64-linux-gnu/中使用了两个lib:libssl.so.1.0.0和libcrypto.so.1.0.0,复制并重命名。对我起作用了。
发布于 2022-08-13 15:52:18
使用维护工具,您可以添加openSSL-1.1.1
你可以在<QT-INSTALLATION-DIR>/tools/openSSL/src找到它
那就建造它
$ ./config --prefix=$HOME/openssl-1.1.1/ssl --openssldir=$HOME/openssl-1.1.1/ssl shared zlib
$ make
$ make install并基于@vvas 回答将libcrypto.so.1.1 libssl.so.1.1复制到<QTDIR>/6.3.1/gcc_64/lib
这对我有效..。与Qt 6.3.1上的软呢帽36
https://stackoverflow.com/questions/52210603
复制相似问题