QT:ssl https craches 我的 dll,抛出 IniterrorSystem.DllNotFoundException

标签 qt dll ssl

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

我已经安装了 openssl 并配置了 qt 来使用它: -openssl -I C:\OpenSSL\include -L C:\OpenSSL\lib

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

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

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

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

有人知道我错过了什么吗?

最佳答案

你有Visual C++ Runtime Libraries吗?安装? OpenSSL 依赖于 Windows 上的 msvcr dll。

关于QT:ssl https craches 我的 dll,抛出 IniterrorSystem.DllNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12959167/

相关文章:

c++ - QT - 未知的调试器类型 "No engine"

c++ - 通过按下 Qt 中的按钮来启用 bool 变量

c++ - 在 C++ 中使用 Delphi DLL

c++ - 如何准备在单个 Windows 环境中生成 .dll 和 unix .so 的构建作业?

java - 带有 SSL 的 RMI - 服务器启动时的握手异常(没有共同的密码套件)

EOF : behavior change; work-around? 上的 C++ istream tellg()/fail()

c++ - Qt: 为什么断网后 `QAbstractSocket::error(QAbstractSocket::SocketError)`信号没有产生?

c# - 将 C# dll 导入到 C++ 托管代码 (.NET)

c# - 如何在SmtpClient中实现安全连接(No | SSL | STARTTLS)来发送邮件?

docker - 可以使用 Onlyoffice 进行身份验证吗?