首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ubuntu上的Qt和OpenSSL不兼容版本

Ubuntu上的Qt和OpenSSL不兼容版本
EN

Stack Overflow用户
提问于 2018-09-06 19:01:33
回答 5查看 11.3K关注 0票数 8

我在试图让QNetwork类在Ubuntu18.04上使用Qt5.11.1时遇到问题

我的系统上安装了OpenSS1.1.0g和libssl。

Qt使用的openssl版本为1.0.2k。我已经和QSslSocket::sslLibraryBuildVersionString()核实过了。加上QSslSocket::supportsSsl()返回false

我正努力想办法解决这个问题,但我总是犯这样的错误:

代码语言:javascript
运行
复制
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

我已经检查了关于这方面的多个问题和论坛,似乎没有什么对我有用。有人知道吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-09-06 19:01:33

我终于成功了。

我已经从源代码中安装了openssl 1.0.2k。我已经下载了我需要的这里版本,并遵循了关于此页的教程。

这样做之后,我仍然有一些错误,但不兼容版本的错误。为了修复我已经安装了libssl1.0-dev的问题,一切都进行得很好(thx到这家伙)。

我希望这能帮到别人。

票数 9
EN

Stack Overflow用户

发布于 2018-09-13 18:24:06

我已经将libcrypto.solibssl.so (v1.0.2)复制到当前的编译器库目录(<QTDIR>/5.11.1/gcc_64/lib)中。在我的例子中,我在/usr/lib/x86_64-linux-gnu/中使用了两个lib:libssl.so.1.0.0libcrypto.so.1.0.0,复制并重命名。对我起作用了。

票数 4
EN

Stack Overflow用户

发布于 2022-08-13 15:52:18

使用维护工具,您可以添加openSSL-1.1.1

你可以在<QT-INSTALLATION-DIR>/tools/openSSL/src找到它

那就建造它

代码语言:javascript
运行
复制
$ ./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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52210603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档