Ubuntu系统下解决Qt5使用SSL的“qt.network.ssl: QSslSocket: cannot resolve SSLv2_client_method”错误

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaoxiao133/article/details/81237018

参考链接:https://www.cnblogs.com/btian/p/6130560.html

首先下载openssl:

git clone https://github.com/openssl/openssl.git

然后选择1.1.0稳定版,并且编译:

git checkout OpenSSL_1_0_0-stable
./config enable-shared
make depend
make -j4

将编译生成的四个文件考到Qt目录(/home/david/MySoft/Qt5.8.0/5.8/gcc_64/lib/)下面(这样会把系统自带的openssl也降级别,危险):

libcrypto.so libssl.so libcrypto.so.1.0.0 libssl.so.1.0.0 

应该最好在目录 /home/david/MySoft/Qt5.8.0/5.8/ 下面新建MyOpenSSL,将libcrypto.so libssl.so libcrypto.so.1.0.0 libssl.so.1.0.0 拷贝到: /home/david/MySoft/Qt5.8.0/5.8/MyQtSSL  目录下面。然后在Qtcreator 增加动态库路径(如下图):

至于为什么不拷贝到 /home/david/MySoft/Qt5.8.0/5.8/gcc_64/lib/ 下面,那是因为一般Ubuntu安装Qt会在 .bashrc 文件下面。
export LD_LIBRARY_PATH=${LD_LIBRARY_LIB}:/home/david/MySoft/Qt5.8.0/5.8/gcc_64/lib

这样就会影响到整个系统的PATH,系统自带的openssl功能被覆盖。(再次感谢参考链接提供的帮助)

猜你喜欢

转载自blog.csdn.net/xiaoxiao133/article/details/81237018