2014-12-10 1 views
1

저는 SSL 지원으로 PyQt5를 만들려고하고 있습니다 만, 지금까지 전혀 성공하지 못했습니다.OpenSSL을 지원하는 Windows에서 PyQt5를 빌드 하시겠습니까?

은 내가 무슨 짓을 :

  • OpenSSL을 지원하여 Qt를 재 구축 : OK

    configure.exe -static -debug-and-release -opensource -confirm-license -nomake examples -nomake tests -opengl desktop -platform win32-g++ -openssl-linked OPENSSL_LIBS="-lssleay32 -llibeay32" -I C:\OpenSSL-Win32\include -L C:\OpenSSL-Win32\lib 
    
    mingw32-make 
    
  • 를 설치 SIP : OK

    python configure.py -p win32-g++ 
    mingw32-make 
    mingw32-make install 
    
  • INST 모든 PyQt5 : OK

    python configure.py --spec=win32-g++ 
    mingw32-make 
    mingw32-make install 
    
    • 편집 configure.py 파일, QtWebKitWidgets ModuleMetadata에 'printsupport'를 추가 :

      'QtWebKitWidgets': ModuleMetadata(qmake_QT=['webkitwidgets', 'printsupport']),

      대신

      'QtWebKitWidgets': ModuleMetadata(qmake_QT=['webkitwidgets']),

    • 0 후
    • (또는 그 이전?)을 mingw32-make, 대상 install_pyuic5에서 라인

      -strip C:$(INSTALL_ROOT)\Python34\pyuic5.bat

      을 제거 :

  • 테스트 : 확인하지

    >>> from PyQt5.QtNetwork import QSslSocket 
    >>> QSslSocket.supportsSsl() 
    False 
    

내 질문은 다음과 같습니다.

  1. 잘못된 것이 있습니까?
  2. 다른 구성이 필요합니까?

왜 내가 그 ... 모두가 "확인"이면 좀 https의 URL (A QWebview로) 액세스하려고 그리고 난 같은, 많은 또는 SSL하는 오류를 받고 있어요 부탁 해요 :

QSslSocket: cannot call unresolved function SSLv23_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

문제가 해결되었습니다.

  1. 다운로드 및 OpenSSL을
  2. 의 "라이트"버전
  3. 를 설치 Qt는에 PyQt는
  4. 복사 ssleay32.dll, libeay32.dlllibssl32.dll을 OpenSSL을 지원 Qt를 재 구축 + SIP를 설치 + 설치 위의 절차를 따르십시오>와 Mingw> 당신이 QSslSocket.supportsSsl() 테스트를 수행 할 때 bin 폴더 (내 경우에는 C:\Qt\Qt5.3.2\5.3\mingw482_32\bin)

이제 큰 True 볼 수 있습니다.