Pyside:Windows 7上的Unresolved Functions错误消息

时间:2013-01-08 11:37:48

标签: python qt python-3.x python-2.7 pyside

我尝试运行一个用PySide模块编写的简单程序来截取网站的截图。我在带有OpenSSL(已安装)的Windows 7上运行此程序。

我收到了以下错误:

QSslSocket: cannot call unresolved function SSLv3_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error

1 个答案:

答案 0 :(得分:0)

我并没有因为我做了一个简单的谷歌搜索而得到了解决方案 http://codeblog.vurdalakov.net/2009/11/solution-qsslsocket-cannot-call.html

我认为由于库内的变化,错误会有所不同。

问题

当您尝试使用QSslSocketQNetworkAccessManager类打开HTTPS网址时,会出现以下错误:

QSslSocket: cannot call unresolved function SSLv3_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_error_string

解决方案

您需要安装OpenSSL Win32或Win64二进制文件。

  1. 打开Win32 OpenSSL安装项目页面。
  2. 下载最新的“轻型”Win32或Win64安装包,例如“Win32 OpenSSL v0.9.8l Light”。
  3. 将其安装到任何位置。忽略“Microsoft Visual C ++ 2008 Redistributables”警告(单击“确定”)并选择将OpenSSL DLL复制到“OpenSSL二进制文件(\ bin)目录”。
  4. 将{bin}文件夹中的libeay32.dllssleay32.dll复制到QtNetwork4.dllQtNetworkd4.dll所在的同一位置。