嗨我想編譯一個我爲靜態的Windows編譯爲可執行文件的openssl庫的QT程序。我以爲我成功了,但是如果沒有Openssl dll,我就無法運行。我在網上搜尋,試圖找到一個解決方案,但不能。下面是我做了什麼:QT https SSL支持靜態QT靜態程序構建 - 仍然需要openssl dll
我過了這個通過編輯Windows PowerShell腳本用於靜態構建Qt來configure.bat,然後運行它來構建:
-openssl-linked
-I C:\OpenSSL-Win32\include
-L C:\OpenSSL-Win32\lib\MinGW
OPENSSL_LIBS=""-lUser32 -lAdvapi32 -lGdi32 -lCrypt32""
OPENSSL_LIBS_DEBUG=-""-lssleay32 -llibeay32""
OPENSSL_LIBS_RELEASE=""-lssleay32 -llibeay32""
的可執行文件將沒有工作openssl dlls現在。難道我做錯了什麼?
執行此qt靜態構建時需要考慮的一些問題 - 使用-LC:\ OpenSSL-Win32 \ lib沒有MinGW目錄時,編輯qt靜態構建的powershell腳本時,必須執行兩項操作 - 如上圖所示爲參數使用雙引號,以便成功傳遞給configure.bat,同時我也無法在PowerShell腳本中插入換行符,所以我最終要到達一個正在出現的行的末尾,按住shift鍵然後按右箭頭鍵選擇換行符,然後通過我已經創建的換行符粘貼它 - 這是必要的使腳本工作 –
此外,如果您必須靜態重建QT,只需刪除靜態目錄從頭開始,一旦mingw靜態qt構建完成後,您需要將openssl dll放在與exe相同的目錄中。這是以前的線程的延續http://stackoverflow.com/questions/35442599/qt-https-ssl-support-for-static-qt-static-program-build-getting-protocol-htt –