--- mingw-w64-doc/howto-build/ucrt-vs-msvcrt.txt | 37 +++++++++++++++++--- 1 file changed, 33 insertions(+), 4 deletions(-)
diff --git a/mingw-w64-doc/howto-build/ucrt-vs-msvcrt.txt b/mingw-w64-doc/howto-build/ucrt-vs-msvcrt.txt index 57205103fc34..7e431a98086e 100644 --- a/mingw-w64-doc/howto-build/ucrt-vs-msvcrt.txt +++ b/mingw-w64-doc/howto-build/ucrt-vs-msvcrt.txt @@ -1,7 +1,7 @@ == Summary == Starting from mingw-w64 version 12 and onwards, UCRT (Universal C Runtime) will -be the default CRT runtime, unless specified otherwise during the minwgw-64 +be the default CRT runtime, unless specified otherwise during the minwg-w64 build process. We believe that this configuration is the best choice for the majority of users. While we encourage users to consider switching to UCRT, we understand that it may not always be desirable, especially for compatibility @@ -19,7 +19,17 @@ versions of these DLLs, some of which were designed for specific MSVC versions while others aimed for backward compatibility. When building the mingw-w64 toolchain, users can specify a version of the runtime DLL using the --with-default-msvcrt= configure option. The most commonly used versions are -ucrt (utilizing ucrtbase.dll) and msvcrt (utilizing msvcrt.dll). +ucrt (utilizing api-ms-win-crt-*.dll) and msvcrt (utilizing msvcrt.dll). +There are also options for crtdll (utilizing system crtdll.dll library which +is predecessor of msvcrt.dll and is available on all 32-bit Windows versions +starting from NT 3.1, Win32s and Win9x), version-specific msvcr* library +(utilizing one of msvcrt10.dll, msvcrt20.dll, msvcrt40.dll, msvcr70.dll, +msvcr71.dll, msvcr80.dll, msvcr90.dll, msvcr100.dll, msvcr110.dll, +msvcr120.dll), version-specific msvcr* debug mode library (utilizing one of +msvcr40d.dll, msvcrtd.dll, msvcr70d.dll, msvcr71d.dll, msvcr80d.dll, +msvcr90d.dll, msvcr100d.dll, msvcr110d.dll msvcr120d.dll), ucrtbase (utilizing +direct usage of ucrtbase.dll instead of api-ms-win-crt-*.dll wrappers) and +also ucrtbased (utilizing debug mode ucrt library ucrtbased.dll). The implementation of msvcrt.dll was introduced with Visual C++ 4.2 in 1996. As a system library it is included since Windows 98 and NT 4. While it has @@ -31,14 +41,33 @@ aspects. mingw-w64 includes compatibility wrappers and extensions to improve standard compatibility, but there are limitations to what can be practically achieved. -On the other hand, ucrtbase.dll was introduced with MSVC 14 and is currently +On the other hand, UCRT api-ms-win-crt-*.dll set libraries (which are wrappers +around the ucrtbase.dll library) were introduced with MSVC 14 and are currently included with all Windows versions supported by Microsoft. It is also available -as a redistributable package for older versions of Windows. ucrtbase.dll aims to +as a redistributable package for older versions of Windows. UCRT set libs aim to replace MSVC version-specific DLLs and has been used by all MSVC versions since its introduction. It offers a more modern approach compared to msvcrt.dll and provides better standard compatibility out of the box, reducing overhead on the mingw-w64 side. +Windows 10 and newer systems have UCRT api-ms-win-crt-*.dll set libraries +automatically preinstalled. + +Windows Vista / Server 2008, Windows 7 / Server 2008 R2, Widows 8 / Server 2012 +and Windows 8.1 / Server 2012 R2 systems include UCRT api-ms-win-crt-*.dll set +libraries in KB2999226 system update, which is available at website: +https://support.microsoft.com/help/2999226 + +For Windows XP and Windows Server 2003 are UCRT api-ms-win-crt-*.dll set +libraries provided via Visual Studio redistributable package. Latest compatible +version for these systems is Visual Studio 2019 16.7 redistributable package, +it contains UCRT libraries set version 14.27.29114.0 and is available at: +32-bit: https://download.visualstudio.microsoft.com/download/pr/56f631e5-4252-4f28-8ecc-257c7bf412b8/D305BAA965C9CD1B44EBCD53635EE9ECC6D85B54210E2764C8836F4E9DEFA345/VC_redist.x86.exe +64-bit: https://download.visualstudio.microsoft.com/download/pr/722d59e4-0671-477e-b9b1-b8da7d4bd60b/591CBE3A269AFBCC025681B968A29CD191DF3C6204712CBDC9BA1CB632BA6068/VC_redist.x64.exe + +Windows 2000 and older systems do not have support for UCRT api-ms-win-crt-*.dll +set libraries at all. + == Compatibility == -- 2.20.1 _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
