缺少Qt SSL支持

缺少Qt SSL支持,ssl,qt4,Ssl,Qt4,我刚刚下载了Qt(LGPL-Qt SDK for Windows),当我运行一些演示时,他们抱怨Qt没有SSL。 如何获得启用SSL的Qt SDK?我真的需要从源代码处编译它来获得SSL支持吗?为什么我下载的版本中缺少它? 从源代码构建Qt时,配置系统检查是否存在openssl的源代码或开发人员包提供的openssl/opensslv.h头文件。由于世界某些地区的导入和导出限制,我们无法为OpenSSL工具包提供Qt包。希望在部署的应用程序中使用SSL通信的开发人员应确保其用户安装了适当的库,或

我刚刚下载了Qt(LGPL-Qt SDK for Windows),当我运行一些演示时,他们抱怨Qt没有SSL。
如何获得启用SSL的Qt SDK?我真的需要从源代码处编译它来获得SSL支持吗?为什么我下载的版本中缺少它?

从源代码构建Qt时,配置系统检查是否存在openssl的源代码或开发人员包提供的openssl/opensslv.h头文件。由于世界某些地区的导入和导出限制,我们无法为OpenSSL工具包提供Qt包。希望在部署的应用程序中使用SSL通信的开发人员应确保其用户安装了适当的库,或者,他们应该咨询合格的法律专业人士,以确保使用OpenSSL项目代码的应用程序在世界相关地区的导入和导出得到正确认证

如果您已经安装了OpenSSL,请尝试

Qt+=network
.pro
文件中


希望对您有所帮助。

要为Qt启用SSL,您首先必须下载OpenSSL包。为此,我建议下载可用的OpenSSL二进制文件,安装二进制文件并阅读随附的帮助

此部分用于在Microsoft Visual C++下安装OpenSSL二进制文件(下面的文本来自二进制文件的帮助)

OpenSSL设计用于轻松构建 在微软Visual C++下。然而, 你去获得的要求 25MB Win98 DDK和最新版本 已安装service pack(SP5为120MB) 对某些人来说可能是一种阻碍 人们(特别是那些 调制解调器)

因此,Win32的安装 OpenSSL二进制文件是一个相当简单的方法 进程(类似于Borland C++) 构建程序)

要做的第一件事(假设 默认安装“C:\OpenSSL”) 转到“C:\OpenSSL\lib\VC”并 将所有文件复制到您的Visual Studio C++的目录。这个目录是 有时位于一个有点 神秘的位置,如“C:\Program” 文件\Microsoft Visual Studio\VC98\lib'或'C:\程序 文件\Microsoft Visual C++\lib'

接下来,复制文件中的所有内容 将“C:\OpenSSL\include”目录添加到您的 VisualC++中包含“目录”< /P> 就这样!你准备好写了吗 支持OpenSSL的代码

在设置了正确的参数之后,现在可以配置Qt以启用SSL支持。 运行configure.exe-debug and release-webkit-openssl-ic:\openssl\Include-lc:\openssl\Lib
,然后进行nmake。您已启用SSL支持。不要忘记将Qt+=network放入.pro文件中


这对我和我的同事都有用,应该对你们也有用:)。

@user261882答案只是部分正确。他说Qt不支持SSL,您确实需要下载

但是,之后的链接过程要简单得多,您不需要在下载SSL库后重新构建Qt,也不需要乱搞Microsoft Visual之类的东西。Qt让你很容易

下载SSL库后,您需要做的就是确保Qt可以找到这些openSSL库的位置。如果在下载过程中选择将openSSL DLL复制到Windows系统目录的选项,Qt将自动在该目录中查找openSSL二进制文件,因为Windows始终搜索Windows系统目录

如果您不希望在Windows系统目录中安装openSSL库,那很好,您只需要告诉Qt openSSL DLL的位置。你可以用很多方法来做这件事。。。一种可能的解决方案是设置将openSSL DLL的位置添加到系统路径。另一个简单的解决方案是将openSSL DLL复制到包含可执行文件的目录中。此目录也保证被搜索

一个简单的检查,您可以在之后运行,查看此操作是否成功调用静态函数,如果此函数返回true,则Qt已找到您下载的openSSL二进制文件。(当然,在运行此测试之前,请确保在
.pro
文件中添加
Qt+=network

使用QtCreator 2.5.2和Win32 OpenSSL库v1.0.1c,使用Qt4.8.3二进制文件进行测试

希望这能为大家节省一些时间。这样做,您无需搜索Visual Studio文件,而且更简单。

QT 5.15:

  • 确保您已经使用Qt维护工具安装了OpenSSL工具包
  • 转到C:\Qt\Tools\OpenSSL\Win\u x64\bin并搜索“libcrypto-1_1-x64.dll”和“libssl-1_1-x64.dll”
  • 将它们复制到编译器文件夹(C:\Qt\5.15.2\msvc2019\U 64\bin)
  • 注意:如果编译x86变体,则必须从Win_x86文件夹复制DLL

    我在这里找到了答案: