1 查看自己QT支持的OPenSSL版本号
#include <QDebug>
#include <QtNetwork/QSslSocket>
#include <QDebug>
#include <QNetworkAccessManager>
void checkSslSupport() {
qDebug() << "SSL support:" << QSslSocket::supportsSsl()
<< "\nSSL library build version:" << QSslSocket::sslLibraryBuildVersionString()
<< "\nSSL library runtime version:" << QSslSocket::sslLibraryVersionString();
QNetworkAccessManager *manager = new QNetworkAccessManager();
qDebug() << manager->supportedSchemes();
}
1.1 查看版本号
- 新建项目testOpenSSL
- pro文件中加入
QT += network
- 在头文件中加入
#include <QDebug> #include <QSslSocket>
-
qDebug()<<QSslSocket::sslLibraryBuildVersionString();
1.2 是否配置了OPenSSL
//看看是否配置了ssl
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
qDebug() << manager->supportedSchemes();
2 安装OPenSSL
安装OPenSSL有两种方式:
- 下载已经编译好的库,放到指定位置
- 自己编译源码
2.1 下载已经编译好的库
https://slproweb.com/products/Win32OpenSSL.html
- 找到自己QT支持的版本,我的版本是“OpenSSL 1.1.1g 21 Apr 2020”
安装完成之后,运行刚才的程序:
已经支持SSL了,方便快捷。
需要将对应的库放到可执行的文件,同级文件下,否则会出错:
2.2 自己编译代码
https://www.openssl.org/
https://blog.csdn.net/u013052326/article/details/111713932
2.2.1 下载perl
perl:https://www.perl.org/get.html
检查环境变量,如果软件没有自己加入,请手动加入
验证,出现以下内容则表示成功
2.2.1 下载OPenSSL源码
以OpenSSL 1.0.2 22 Jan 2015为例
以管理员身份运行:cd /d D:\vs\openssl-1.0.2.tar\openssl-1.0.2
进入源文件文章来源:https://www.toymoban.com/news/detail-854378.html
- 配置
32位
perl Configure VC-WIN32 no-asm --prefix="D:\\vs\\openssl-1.0.2.tar\\build32"
64位文章来源地址https://www.toymoban.com/news/detail-854378.html
perl Configure VC-WIN64A no-asm --prefix="D:\\vs\\openssl-1.0.2.tar\\build64"
release版本:VC-WIN64A代表是64位release 库;VC-WIN32 代表是32位release库
debug版本:debug VC-WIN64A ; debug VC-WIN32A
no-asm:编译过程中不使用汇编代码加快编译过程。
–prefix=路径指定生成路径
编译动态库:
nmake -f ms\ntdll.mak
编译静态库:
nmake -f ms\nt.mak
测试动态库:
nmake -f ms\ntdll.mak test
测试静态库:
nmake -f ms\nt.mak test
安装动态库:
nmake -f ms\ntdll.mak install
安装静态库:
nmake -f ms\nt.mak install
清除上次动态库的编译,以便重新编译:
nmake -f ms\ntdll.mak clean
清除上次静态库的编译,以便重新编译:
nmake -f ms\nt.mak clean
–cross-compile-prefix 交叉编译参数
–prefix=DIR 安装目录设置,make install指令会安装到指定目录。
–debug 使用调试符号和零优化级别构建OpenSSL
–release 在不调试符号的情况下构建OpenSSL。这是默认设置
–libdir=DIR 安装目录树顶部(请参阅–prefix选项)下将安装库的目录的名称。
默认情况下,这是“lib”。
请注意,仅在Windows上,.lib文件将存储在此位置。 dll文件将始终安装到“bin”目录。
–openssldir=DIR OpenSSL配置文件的目录,以及默认证书和密钥存储。
默认设置为:
Unix:/usr/local/ssl
Windows:C:\Program Files\Common Files\SSL或C:\Program Files(x86)\Common
Files\SSLOpen
VMS:SYS$COMMON:[OPENSSL-COMMON]
no-tests 不要构建测试程序或运行任何测试 no-shared 不要创建共享库,只创建静态库。
- 生成makefile
生成makefile,64位:ms\do_win64a ;32为:ms\do_ms
-
nmake -f ms\ntdll.mak
(ntdll 代表动态库,nt 代表静态库) - 安装
nmake -f ms\ntdll.mak install
- 测试
nmake -f ms\ntdll.mak test
将生成的库,放入对应的qt文件位置 E:\qt_5.5\5.5\mingw492_32\bin (我是32位的)
到了这里,关于QT +OpenSSL配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!