简体   繁体   中英

Pyside: Unresolved Functions error messages on windows7

I tried to run a simple program that is written in python with PySide module to take screenshots of the websites. I'm running this program on a Windows 7 with OpenSSL(already installed).

I got the following errors:

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

I by no means take credit for this solution as I did a simple google search and came across http://codeblog.vurdalakov.net/2009/11/solution-qsslsocket-cannot-call.html

I believe the errors are a little different due to changes within the libraries.

Problem

When you try to open a HTTPS URL with QSslSocket or QNetworkAccessManager class, you get the following errors:

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

Solution

You need to install OpenSSL Win32 or Win64 binaries.

  1. Open Win32 OpenSSL Installation Project page.
  2. Download the latest "light" Win32 or Win64 installation package, for example "Win32 OpenSSL v0.9.8l Light".
  3. Install it to any location. Ignore "Microsoft Visual C++ 2008 Redistributables" warning (click OK) and select copying OpenSSL DLLs to "The OpenSSL binaries (\\bin) directory".
  4. Copy libeay32.dll and ssleay32.dll from the \\bin folder to the same place where your QtNetwork4.dll or QtNetworkd4.dll is located.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM