6

我的应用程序在 Windows 上引发以下错误:

QSslSocket:无法调用未解析的函数 SSLv3_client_method

QSslSocket:无法调用未解析的函数 SSL_CTX_new

QSslSocket:无法调用未解析的函数 SSL_library_init

QSslSocket:无法调用未解析的函数 ERR_get_error

QSslSocket:无法调用未解析的函数 ERR_error_string

我已经安装了 VS C++ Redistributables 和 OpenSSL,但我不知道如何告诉 Qt 动态链接到 openSSL。我在 Windows 7 上使用 Qt 二进制文件和 Qt Creator 的 LGPL 版本(Linux 构建工作得很好)

4

2 回答 2

4

由于某种原因,Qt 不能很好地处理从 Win32 OpenSSL 安装项目下载的 dll。正如我所观察到的,该应用程序在安装了 Tortoise Svn 的机器上运行顺利,我只是复制了 Tortoise 提供的 dll,这对我来说效果很好。

我知道,奇怪的是那些 dll 可以工作,而 Win32 OpenSSL 安装项目中的那些没有,但现在从 Tortoise Svn 安装文件夹复制 dll 解决了我的问题。

于 2010-12-07T22:19:19.993 回答
4

从此网站下载最新的 OpenSSL 预构建二进制文件。

我使用了Win32 OpenSSL v0.9.8r Light,因为关于 v1 版本存在一些争议。[客户端工具很好,您不需要完整的分发]

确保安装 dll 以便它们在 Windows 路径中可见。任何一个;

  • windows/system32 目录
  • 应用程序目录
  • 或将 dll 的位置添加到路径环境变量

这适用于我的 Qt v4.6.2

于 2011-05-03T10:37:15.023 回答