0

我在 qt 中创建了一个简单的 dll,它启动了一个新线程并使用 QNetworkAccessManager 处理不同的网络请求。使用普通 HTTP 请求可以正常工作,但在尝试开始使用 HTTPS 时遇到了一些问题。

我已经安装了 openssl 并配置了 qt 以使用它: -openssl -IC:\OpenSSL\include -LC:\OpenSSL\lib

我可以编译 dll,但是当我尝试从我的应用程序访问 dll 时,我得到了一个 IniterrorSystem.DllNotFoundException。一旦我尝试使用 QSslSocket 类,就会出现此错误,例如我只是试图启动一个变量。

QSslSocket 套接字;通过此启动,dll 因上述错误而崩溃。

//QSslSocket 套接字;删除 init 将使 dll 继续,但 https 请求不起作用,并且我没有从 QNetworkAccessManager 收到任何错误消息。我尝试连接到 sslError 信号,但这也从未发生过。

我已将 dll“libeay32.dll”、“libssl32.dll”和“ssleay32.dll”放在与我的 dll 相同的文件夹中,并成功安装了 OpenSSL。

有人知道我缺少什么吗?

4

1 回答 1

0

是否安装了Visual C++ 运行时库?OpenSSL 依赖于 Windows 上的msvcr dll。

于 2012-10-19T07:48:04.410 回答