diff options
Diffstat (limited to 'doc/src/platforms/windows.qdoc')
-rw-r--r-- | doc/src/platforms/windows.qdoc | 75 |
1 files changed, 58 insertions, 17 deletions
diff --git a/doc/src/platforms/windows.qdoc b/doc/src/platforms/windows.qdoc index b1617848..98f480cf 100644 --- a/doc/src/platforms/windows.qdoc +++ b/doc/src/platforms/windows.qdoc @@ -98,6 +98,9 @@ applications on Windows. \list + \li \l{OpenSSL Toolkit}: Qt can make use of OpenSSL to support Secure Socket Layer + (SSL) communication. + \li \l{ICU}: Qt 5 can make use of the ICU library for enhanced UNICODE and Globalization support (see QTextCodec, QCollator::setNumericMode()). @@ -115,36 +118,74 @@ \section2 SSL Support for Secure Sockets Layer (SSL) communication is provided by the \l {OpenSSL Toolkit}, - which must be obtained separately. Download the latest version of the toolkit. + which must be obtained separately. Download the latest version of the toolkit that is + supported by Qt. + Qt can be configured to use OpenSSL in three ways: \list - \li To have Configure pick up OpenSSL automatically, set the following variables to point - to where your OpenSSL includes and libraries are located: + \li Qt Network loads OpenSSL libraries (DDLs) when first needed, at runtime. If not found, + the application continues to run, but fails to handle SSL communication. - \code - /* Assuming your OpenSSL is installed in C:\OpenSSL */ + All official Qt binary builds use this configuration. + + The OpenSSL libraries are looked up first in the directory of the executable, then in + the Windows System directory (usually \c{C:\Windows\system32}), and finally in all + directories listed in the \c PATH environment variable. + + \li Qt Network links against the OpenSSL libraries. If they cannot be found at load time, + the application fails to start. + + \li Qt Network compiles against a static version of the OpenSSL libs, and OpenSSL becomes + part of the Qt5Network library. + \endlist - set INCLUDE=%INCLUDE%;C:\OpenSSL\include - set PATH=%PATH%;C:\OpenSSL\bin - \endcode - \li To use linked OpenSSL support, set the following: + If you compile Qt yourself, you can configure how Qt uses OpenSSL by setting either the + \c{-openssl} / \c{-openssl-runtime} or \c{-openssl-linked} configure flags. - \code - /* Assuming your OpenSSL is installed in C:\OpenSSL */ + If OpenSSL is not found in the normal compiler include and library directories, you can set + either the \c OPENSSL_PREFIX, or \c OPENSSL_INCDIR and \c OPENSSL_LIBDIR configure arguments. + If \c OPENSSL_PREFIX is set, \c OPENSSL_INCDIR defaults to \c OPENSSL_PREFIX/include and + \c OPENSSL_LIBDIR to \c OPENSSL_PREFIX/lib. - set INCLUDE=%INCLUDE%;C:\OpenSSL\include - set LIB=%LIB%;C:\OpenSSL\lib + The actual libraries to link to can be tweaked by setting the \c OPENSSL_LIBS, + \c OPENSSL_LIBS_DEBUG, and \c OPENSSL_LIBS_RELEASE configure arguments. + + \list + \li To load OpenSSL at runtime, set the \c {-openssl-runtime} configure argument. Qt will + try to find \c{openssl/ssl.h} and \c{openssl/opensslv.h} in the default include path of + the compiler. You can specify an additional include directory by setting + \c OPENSSL_INCDIR. + + For example: + \badcode + configure -openssl-runtime OPENSSL_INCDIR="C:\Program Files\OpenSSL-Win64\include" + \endcode + + \li To link Qt Network against OpenSSL libraries, set the \c{-openssl-linked} + configure argument. Use the \c{OPENSSL_PREFIX} variable to let Qt correctly locate + and build against your OpenSSL installation: + + For example: + \badcode + configure -openssl-linked OPENSSL_PREFIX="C:\Program Files\OpenSSL-Win64" \endcode - Then, pass \c -openssl-linked to \c configure: + \li To link Qt Network against a static version of the OpenSSL libs, set the + \c{-openssl-linked} argument, and set \c{OPENSSL_PREFIX}, or \c{OPENSSL_INCDIR} + and \c{OPENSSL_LIBDIR}. In addition, you probably need to set the \c{OPENSSL_LIBS}, + \c{OPENSSL_LIBS_DEBUG}, \c{OPENSSL_LIBS_RELEASE} configure arguments to let Qt correctly + link against your static build of the OpenSSL libraries. + + For example: - \code - configure -openssl-linked + \badcode + set OPENSSL_DIR=C:\Program Files\OpenSSL-Win64 + configure -openssl-linked OPENSSL_INCDIR="%OPENSSL_DIR%\include" OPENSSL_LIBDIR="%OPENSSL_DIR%\lib\VC\static" OPENSSL_LIBS="-lWs2_32 -lGdi32 -lAdvapi32 -lCrypt32 -lUser32" OPENSSL_LIBS_DEBUG="-llibssl64MDd -llibcrypto64MDd" OPENSSL_LIBS_RELEASE="-llibssl64MD -llibcrypto64MD" \endcode \endlist - See \l {Secure Sockets Layer (SSL) Classes} for instructions on building Qt with SSL support. + See \l {Secure Sockets Layer (SSL) Classes} for further instructions on Qt with SSL support. \section2 ICU |