我刚刚下载了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身份验证功能?