[英]QSslSocket errors
在Windows 7 Ultimate x64上的Qt 4.8中,當我嘗試使用QNetworkAccessManager
通過網絡post()
某些內容時:
_net_acc_mgr.post(QNetworkRequest(QUrl(...)),
QByteArray(...));
我遇到以下運行時錯誤:
QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
QSslSocket: cannot call unresolved function OPENSSL_add_all_algorithms_noconf
content-type missing in HTTP POST, defaulting to application/octet-stream
我清楚地記得幾年前使用過相同的代碼。 但是我忘記了嘗試使用哪個版本的Qt。
在Qt 4.8中使用QNetworkAccessManager
還有其他要求嗎?
QT在32位上運行
在Windows 64位系統中 ,文件夾system32沒有OpenSSL所需的DLL ,只有sysWOW64文件夾中 。
要解決此問題,您將需要安裝OpenSSL 32的二進制版本。
下載針對Windows編譯的文件(更新鏈接):
http://slproweb.com/download/Win32OpenSSL_Light-1_0_1g.exe
注意:在安裝過程中,選擇選項“ OpenSSL二進制(/ bin)目錄”(可能是
C:\\OpenSSL-Win32
)
安裝后,為發布/調試項目文件夾復制DLL(從C:\\OpenSSL-32
或%HOMEDRIVE%\\OpenSSL-32
):
另一種選擇是使用Mingw 64bit ,但不知道QT是否可行(這種情況,如果可以編譯,則該應用程序將僅在64位系統上運行)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.