msvcrt versions 8.0 - 12.0 and UCRT do not have _strcmpi symbol. For these CRT versions (which have NO_STRCMPI_ALIAS) is later in the file symbol _strcmpi defined as an alias to _stricmp symbol.
So for these affected CRT versions define strcmpi as an alias to _stricmp. --- mingw-w64-crt/def-include/msvcrt-common.def.in | 8 +++++++- mingw-w64-crt/lib-common/ucrtbase.def.in | 1 - 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/mingw-w64-crt/def-include/msvcrt-common.def.in b/mingw-w64-crt/def-include/msvcrt-common.def.in index 47ce52cb9f8a..41277606933f 100644 --- a/mingw-w64-crt/def-include/msvcrt-common.def.in +++ b/mingw-w64-crt/def-include/msvcrt-common.def.in @@ -95,8 +95,14 @@ ADD_UNDERSCORE(spawnve) ADD_UNDERSCORE(spawnvp) ADD_UNDERSCORE(spawnvpe) ; ADD_UNDERSCORE(stat) -#ifndef UCRTBASE +#ifdef NO_STRCMPI_ALIAS +; Symbol _strcmpi is natively present and defined in the library def file +; So define strcmpi as an alias to _strcmpi ADD_UNDERSCORE(strcmpi) +#else +; Symbol _strcmpi is not present in the library, it provides only _stricmp symbol +; So define strcmpi as an alias to _stricmp +strcmpi == _stricmp #endif ADD_UNDERSCORE(strdup) ADD_UNDERSCORE(stricmp) diff --git a/mingw-w64-crt/lib-common/ucrtbase.def.in b/mingw-w64-crt/lib-common/ucrtbase.def.in index f42cf8f680bc..b5aff62bd878 100644 --- a/mingw-w64-crt/lib-common/ucrtbase.def.in +++ b/mingw-w64-crt/lib-common/ucrtbase.def.in @@ -2538,7 +2538,6 @@ strcat strcat_s strchr strcmp -strcmpi == _stricmp strcoll strcpy strcpy_s -- 2.20.1 _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public