我在 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/