diff options
authorCameron Gutman <>2020-12-21 12:32:38 -0600
committerMårten Nordheim <>2021-01-20 14:41:49 +0000
commit7d0cbfc257ac18d14140f5516a0269a4d8ac320a (patch)
parentb2af6332ea37e45ab230a7a5d2d278f86d961b83 (diff)
QSsl: fix OpenSSL DLL names for Windows on ARM
OpenSSL adds an '-arm'/'-arm64' suffix to the DLL names when building for VC-WIN32-ARM or VC-WIN64-ARM. This needs to be accounted for in Qt to find the OpenSSL DLLs correctly. Fixes: QTBUG-89647 Change-Id: Ibc9b81e06f8e64c0676f335e13024fa7fe3a4fa3 Reviewed-by: Mårten Nordheim <> (cherry picked from commit c111aad270f1d51c2e870ee25e9a6bba64b3cecc) Reviewed-by: Edward Welbourne <>
1 files changed, 9 insertions, 5 deletions
diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
index 9396516670..1683c9c3aa 100644
--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
@@ -677,14 +677,18 @@ static LoadedOpenSsl loadOpenSsl()
LoadedOpenSsl result;
- // With OpenSSL 1.1 the names have changed to libssl-1_1(-x64) and libcrypto-1_1(-x64), for builds using
- // MSVC and GCC, (-x64 suffix for 64-bit builds).
+ // With OpenSSL 1.1 the names have changed to libssl-1_1 and libcrypto-1_1 for builds using
+ // MSVC and GCC, with architecture suffixes for non-x86 builds.
-#ifdef Q_PROCESSOR_X86_64
+#if defined(Q_PROCESSOR_X86_64)
#define QT_SSL_SUFFIX "-x64"
-#else // !Q_PROCESSOFR_X86_64
+#elif defined(Q_PROCESSOR_ARM_64)
+#define QT_SSL_SUFFIX "-arm64"
+#elif defined(Q_PROCESSOR_ARM_32)
+#define QT_SSL_SUFFIX "-arm"
-#endif // !Q_PROCESSOR_x86_64
tryToLoadOpenSslWin32Library(QLatin1String("libssl-1_1" QT_SSL_SUFFIX),
QLatin1String("libcrypto-1_1" QT_SSL_SUFFIX), result);