我剛剛下載了Qt(LGPL-Qt SDK for Windows),當我運行一些演示時,他們抱怨Qt沒有SSL。
如何獲得啓用了SSL的Qt SDK?我真的需要從源代碼編譯來獲得SSL支持嗎?爲什麼我下載的版本中缺少這些內容?缺少Qt SSL支持
回答
@ user261882答案只是部分正確。他說Qt沒有提供SSL支持並且您確實需要下載OpenSSL libraries。
但是,之後的鏈接過程更加簡單,您不需要在下載SSL庫或者使用Microsoft Visual東西搞砸之後重新生成Qt。 Qt對你來說很容易。
下載SSL庫後需要做的所有事情都是確保Qt能夠找到這些openSSL庫的位置。如果在下載過程中選擇將openSSL DLL複製到Windows系統目錄的選項,Qt將自動在該目錄中找到openSSL二進制文件,因爲Windows系統目錄一直由Windows搜索。
如果你不想在你的Windows系統目錄下安裝openSSL庫,那很好,你只需要告訴Qt openSSL DLL的位置。你可以用很多方法來做到這一點......一種可能的解決方案是將openSSL DLL的位置添加到系統PATH中。另一個簡單的解決方案是將openSSL DLL複製到包含可執行文件的目錄中。這個目錄也保證被搜索。
一個簡單的檢查,你可以後來運行,看看這個工作是否調用靜態函數QSslSocket::supportsSsl(),如果這個函數返回true,Qt已經找到你下載的openSSL二進制文件。(當然,確保您在.pro
文件中添加Qt += network
運行此測試之前)
使用Qt 4.8.3測試二進制文件,使用Qt Creator的2.5.2和Win32 OpenSSL庫v1.0.1c
希望這可以爲大家節省一些時間。這樣做,你不需要去搜索Visual Studio文件,它更簡單。
當從源代碼構建Qt中,配置系統檢查通過的OpenSSL源或顯影劑包提供在OpenSSL/opensslv.h報頭的存在。由於世界某些地區的進口和出口限制,我們無法向OpenSSL Toolkit提供Qt包。希望在其部署的應用程序中使用SSL通信的開發人員應確保他們的用戶安裝了合適的庫,或者他們應諮詢具有適當資質的法律專業人員以確保使用OpenSSL項目代碼的應用程序正確進行導入和導出認證在世界有關地區。
如果你已經安裝了OpenSSL,試着給
在.pro
文件Qt += network
..
希望它可以幫助..
要啓用Qt的SSL,您必須首先下載OpenSSL包。爲此,我建議下載可用的OpenSSL二進制文件here.安裝二進制文件並閱讀隨附的幫助。
這部分是用於Microsoft Visual C++(下從二進制文件的幫助下采取的文本)
OpenSSL是能夠很輕鬆地 建立微軟的Visual C下++下安裝OpenSSL的二進制文件。然而, 你去獲得 了25MB的Win98的DDK,並擁有最新的 服務包(SP5爲120MB)的要求安裝 可以被證明是造成障礙的一些 人(尤其是那些有 調制解調器)。
所以,在Win32 OpenSSL的二進制文件的安裝是相當簡單的過程 (類似於了Borland C++ 生成器處理)。
做(假設的 默認安裝 'C:\ OpenSSL的')的第一件事 是去 'C:\ OpenSSL的\ LIB \ VC' 和 的所有文件拷貝到Visual C++ 'lib'目錄。這個目錄有時位於一個隱藏的位置,如'C:\ Program Files \ Microsoft Visual Studio \ VC98 \ lib'或'C:\ Program Files \ Microsoft Visual C++ \ lib'。
接下來,將 'C:\ OpenSSL \ include'目錄中的所有內容都複製到您的 Visual C++'include'目錄中。
就是這樣!你已經準備好去寫 支持OpenSSL的代碼!
設置正確的參數後,您現在可以配置Qt來啓用SSL支持。 運行configure.exe -debug-and-release -webkit -openssl -I C:\ openssl \ Include -L C:\ openssl \ Lib,然後nmake。您已啓用SSL支持。不要忘記把Qt + =網絡放在你的.pro文件中。
這對我和我的同事都有效,應該也適合你:)。
- 1. 缺少支持庫V7 23
- 2. Netcat Android缺少UDP支持
- 3. 缺少64位支持
- 4. Qt缺少qtextcontrol_p.h
- 5. 支持Android-V4缺少方法
- 6. MonoDroid缺少對System.IO.Ports的支持
- 7. Apple IOS和缺少HTML5 WebSockets支持
- 8. ADAL4J,提示缺少行爲支持
- 9. Android SSL支持
- 10. Qt支持VNC
- 11. IdMappedPortTCP OnOutboundConnect SSL支持
- 12. node-odbc SSL支持
- 13. Qt中缺少鏈接器
- 14. QFontCombobox(Qt 4.7)缺少字體
- 15. QT https SSL支持靜態QT靜態程序構建 - 仍然需要openssl dll
- 16. ssl套接字不支持錯誤
- 17. .net 2.0中的SSL支持
- 18. Android的SSL - SNI支持
- 19. 帶SSL支持的Jetty ProxyServlet
- 20. 檢測是否支持SSL
- 21. JWT-驗證:不支持SSL
- 22. 向SocketServer添加SSL支持
- 23. Linux上的MySQL ++ SSL支持
- 24. WebSphere多SSL版本支持
- 25. Qt是否支持OpenMP?
- 26. 在Linux上qt openGL支持
- 27. 不Qt的擴展支持
- 28. Qt是否支持iOS?
- 29. Qt 5支持異常嗎?
- 30. 缺少Express SSL身份驗證功能?