qml实现对SSL的支持(使用msys2,同时支持32和64位)超详细 good

首先准备环境。两种方法,使用mingw64 或者VS 

直接放上下载地址https://sourceforge.net/projects/msys2/
我下载的是msys2-x86_64-20161025 ,同时支持32和64位
里面有三个EXE   msys2  mingw64  mingw32  3个程序完全独立各自使用各自的gcc 再也不用麻烦的切换了。
进入msys2  这时可以运行  pacman   使用说明地址https://wiki.archlinux.org/index.php/pacman (左边可以选择语言,有中文哦)
有了软件包管理器pacman 那当然是想干嘛就干嘛。
pacman -Sl | grep gcc  看下
安装 pacman -S 包的名字(比如mingw-w64-x86_64-gcc)
看全部软件的名字是
pacman -Sl
装上tar make perl 根据http://wiki.qt.io/Qt_5.6_Tools_and_Versions 查找需要编译的openssl 版本,下载源码
按照文档 http://wiki.qt.io/Compiling_OpenSSL_with_MinGW  就可以轻松编译openssl

当然,某些版本的openssl 可以用VS编译
安装activeperl
到解压后的openssl的根目录。
执行命令:perl Configure VC-WIN32(或者VC-WIN64A,取决于编译库类型,可以用–prefix=路径指定生成路径).
msdo_ms.bat(创建makefile文件,64位需要使用msdo_win64aA.bat)
执行nmake - f ms tdll.mak(编译动态库)。
执行nmake - f ms tdll.mak test查看库是否有问题。
执行nmake - f ms tdll.mak install 。

对于静态库: 
nmake -f ms t.mak 
测试静态库: 
nmake -f ms t.mak test 
安装静态库: 
nmake -f ms t.mak install 


清除上次动态库的编译,以便重新编译: 
nmake -f ms tdll.mak clean 
清除上次静态库的编译,以便重新编译: 
nmake -f ms t.mak clean

准备工作完成后我们就得到了libeay32.dll 和ssleay32.dll 两个文件,放到QT的那个msvs2013_64in 目录下,或者运行目录,或者系统目录下(能找到就行)

在main.cpp中加上四行

#include <QSslConfiguration>   
 // Ignore SSL Errors [Comment out before production]
     QSslConfiguration sslConf = QSslConfiguration::defaultConfiguration();
     sslConf.setPeerVerifyMode(QSslSocket::VerifyNone);
     QSslConfiguration::setDefaultConfiguration(sslConf);

好了,现在就可以将请求的地址搞成 https就可以啦。。记得端口号也要是https的哦。

http://blog.csdn.net/makefriend7/article/details/53583533

原文地址:https://www.cnblogs.com/findumars/p/6891267.html