我刚刚下载了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. 缺少64位支持
- 2. 缺少平台支持?
- 3. ServiceStack.Redis缺少异步支持
- 4. Netcat Android缺少UDP支持
- 5. 缺少支持库V7 23
- 6. Chromium:缺少sass支持
- 7. Qt缺少qtextcontrol_p.h
- 8. Qt缺少库吗?
- 9. 支持Android-V4缺少方法
- 10. Apple IOS和缺少HTML5 WebSockets支持
- 11. MonoDroid缺少对System.IO.Ports的支持
- 12. RenderScript支持库中缺少Mesh类
- 13. ADAL4J,提示缺少行为支持
- 14. TIdHTTPProxyServer SSL支持
- 15. Node.js + SSL支持
- 16. Android SSL支持
- 17. Qt支持VNC
- 18. 虽然SSL缺少ServerHelloDone Hanshake
- 19. 如何解决***缺少分隔符。编译QT(或支持库)时?
- 20. node-odbc SSL支持
- 21. Favicon不支持SSL
- 22. IdMappedPortTCP OnOutboundConnect SSL支持
- 23. MongoDB + PHP:支持SSL?
- 24. gsoap 2.8.15 SSL支持
- 25. 在Qt Android上缺少QSGContext
- 26. QFontCombobox(Qt 4.7)缺少字体
- 27. Qt中缺少链接器
- 28. QT中缺少Kernel32.dll
- 29. QT https SSL支持静态QT静态程序构建 - 仍然需要openssl dll
- 30. SSL PDO(MySQL)支持SSL如何工作?