Warning is:

    In file included from mingw-w64-headers/include/windows.h:70,
                     from crt/crtexewin.c:6,
                     from crt/ucrtexewin.c:14:
    mingw-w64-headers/include/winbase.h:2084: warning: "EnumResourceNames" 
redefined
     #define EnumResourceNames __MINGW_NAME_AW(EnumResourceNames)

    In file included from mingw-w64-headers/include/winbase.h:24,
                     from mingw-w64-headers/include/windows.h:70,
                     from crt/crtexewin.c:6,
                     from crt/ucrtexewin.c:14:
    mingw-w64-headers/include/libloaderapi.h:80: note: this is the location of 
the previous definition
     #define EnumResourceNames EnumResourceNamesW

Fix it by conditionally defining EnumResourceNames in winbase.h directly as
EnumResourceNamesA for non-UNICODE builds and let libloaderapi.h to define
EnumResourceNames as EnumResourceNamesW for UNICODE builds.

libloaderapi.h is automatically included in winbase.h, so caller of
winbase.h would have definition of EnumResourceNames for both UNICODE and
non-UNICODE builds.

Caller of libloaderapi.h would have only UNICODE definition of
EnumResourceNames because api-ms-win-core-libraryloader-l1-2-2.def and
kernel32_onecore.def do not provide non-UNICODE EnumResourceNamesA symbol.
---
 mingw-w64-headers/include/winbase.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mingw-w64-headers/include/winbase.h 
b/mingw-w64-headers/include/winbase.h
index 6faf6ac970eb..05813b9b1c97 100644
--- a/mingw-w64-headers/include/winbase.h
+++ b/mingw-w64-headers/include/winbase.h
@@ -2075,13 +2075,13 @@ typedef enum FILE_FLUSH_MODE {
 #ifndef UNICODE
 #define GetStartupInfo GetStartupInfoA
 #define FindResourceEx FindResourceExA
+#define EnumResourceNames EnumResourceNamesA
 #endif
 
 #define FatalAppExit __MINGW_NAME_AW(FatalAppExit)
 #define GetFirmwareEnvironmentVariable 
__MINGW_NAME_AW(GetFirmwareEnvironmentVariable)
 #define SetFirmwareEnvironmentVariable 
__MINGW_NAME_AW(SetFirmwareEnvironmentVariable)
 #define EnumResourceTypes __MINGW_NAME_AW(EnumResourceTypes)
-#define EnumResourceNames __MINGW_NAME_AW(EnumResourceNames)
 #define EnumResourceLanguages __MINGW_NAME_AW(EnumResourceLanguages)
 #define BeginUpdateResource __MINGW_NAME_AW(BeginUpdateResource)
 #define UpdateResource __MINGW_NAME_AW(UpdateResource)
-- 
2.20.1



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to