Message ID | 1441704488-9512-1-git-send-email-berrange@redhat.com |
---|---|
State | New |
Headers | show |
On 08/09/2015 11:28, Daniel P. Berrange wrote: > In file included from ui/gtk.c:40:0: > include/ui/gtk.h:5:0: warning: "_WIN32_WINNT" redefined > # define _WIN32_WINNT 0x0601 /* needed to get definition of MAPVK_VK_TO_VSC */ > ^ > In file included from /usr/i686-w64-mingw32/sys-root/mingw/include/crtdefs.h:10:0, > from /usr/i686-w64-mingw32/sys-root/mingw/include/stdio.h:9, > from /home/berrange/src/virt/qemu/include/qemu/fprintf-fn.h:12, > from /home/berrange/src/virt/qemu/include/qemu-common.h:18, > from ui/gtk.c:37: > /usr/i686-w64-mingw32/sys-root/mingw/include/_mingw.h:225:0: note: this is the location of the previous definition > #define _WIN32_WINNT 0x502 > ^ > > Signed-off-by: Daniel P. Berrange <berrange@redhat.com> > --- > include/ui/gtk.h | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/include/ui/gtk.h b/include/ui/gtk.h > index ee6dffd..7796231 100644 > --- a/include/ui/gtk.h > +++ b/include/ui/gtk.h > @@ -2,7 +2,9 @@ > #define UI_GTK_H > > #ifdef _WIN32 > -# define _WIN32_WINNT 0x0601 /* needed to get definition of MAPVK_VK_TO_VSC */ > +# ifndef _WIN32_WINNT > +# define _WIN32_WINNT 0x0601 /* needed to get definition of MAPVK_VK_TO_VSC */ > +# endif > #endif Your error message shows that _WIN32_WINNT was 0x0502, do you get MAPVK_VK_TO_VSC with this patch? Perhaps #undef the macro first, or do something like: #if !defined _WIN32_WINNT || _WIN32_WINNT < 0x0601 # undef _WIN32_WINNT # define _WIN32_WINNT 0x0601 #endif Paolo
On Tue, Sep 08, 2015 at 11:35:15AM +0200, Paolo Bonzini wrote: > > > On 08/09/2015 11:28, Daniel P. Berrange wrote: > > In file included from ui/gtk.c:40:0: > > include/ui/gtk.h:5:0: warning: "_WIN32_WINNT" redefined > > # define _WIN32_WINNT 0x0601 /* needed to get definition of MAPVK_VK_TO_VSC */ > > ^ > > In file included from /usr/i686-w64-mingw32/sys-root/mingw/include/crtdefs.h:10:0, > > from /usr/i686-w64-mingw32/sys-root/mingw/include/stdio.h:9, > > from /home/berrange/src/virt/qemu/include/qemu/fprintf-fn.h:12, > > from /home/berrange/src/virt/qemu/include/qemu-common.h:18, > > from ui/gtk.c:37: > > /usr/i686-w64-mingw32/sys-root/mingw/include/_mingw.h:225:0: note: this is the location of the previous definition > > #define _WIN32_WINNT 0x502 > > ^ > > > > Signed-off-by: Daniel P. Berrange <berrange@redhat.com> > > --- > > include/ui/gtk.h | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/include/ui/gtk.h b/include/ui/gtk.h > > index ee6dffd..7796231 100644 > > --- a/include/ui/gtk.h > > +++ b/include/ui/gtk.h > > @@ -2,7 +2,9 @@ > > #define UI_GTK_H > > > > #ifdef _WIN32 > > -# define _WIN32_WINNT 0x0601 /* needed to get definition of MAPVK_VK_TO_VSC */ > > +# ifndef _WIN32_WINNT > > +# define _WIN32_WINNT 0x0601 /* needed to get definition of MAPVK_VK_TO_VSC */ > > +# endif > > #endif > > Your error message shows that _WIN32_WINNT was 0x0502, do you get > MAPVK_VK_TO_VSC with this patch? Yes, it still sees that constant just fine and compiles without error. Interestingly, looking at the header files in mingw64 for Fedora 18 and Fedora 22, I see #define MAPVK_VK_TO_VSC 0 #define MAPVK_VSC_TO_VK 1 #define MAPVK_VK_TO_CHAR 2 #define MAPVK_VSC_TO_VK_EX 3 #if (_WIN32_WINNT >= 0x0600) #define MAPVK_VK_TO_VSC_EX 4 #endif IOW, the constant we use is made available unconditionally, only the _EX variant needs the _WIN32_WINNT definition. I wonder if there are some very old mingw versions which lack it though ? > Perhaps #undef the macro first, or do something like: > > #if !defined _WIN32_WINNT || _WIN32_WINNT < 0x0601 > # undef _WIN32_WINNT > # define _WIN32_WINNT 0x0601 > #endif Perhaps a better way is to avoid the WINNT stuff entirely and instead directly define the constant we actually care about. eg #ifnef MAPVK_VK_TO_VSC # define MAPVK_VK_TO_VSC 0 #endif Regards, Daniel
diff --git a/include/ui/gtk.h b/include/ui/gtk.h index ee6dffd..7796231 100644 --- a/include/ui/gtk.h +++ b/include/ui/gtk.h @@ -2,7 +2,9 @@ #define UI_GTK_H #ifdef _WIN32 -# define _WIN32_WINNT 0x0601 /* needed to get definition of MAPVK_VK_TO_VSC */ +# ifndef _WIN32_WINNT +# define _WIN32_WINNT 0x0601 /* needed to get definition of MAPVK_VK_TO_VSC */ +# endif #endif #ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
When building for Mingw64 target on Fedora 22 a warning is issued about _WIN32_WINNT being redefined. In file included from ui/gtk.c:40:0: include/ui/gtk.h:5:0: warning: "_WIN32_WINNT" redefined # define _WIN32_WINNT 0x0601 /* needed to get definition of MAPVK_VK_TO_VSC */ ^ In file included from /usr/i686-w64-mingw32/sys-root/mingw/include/crtdefs.h:10:0, from /usr/i686-w64-mingw32/sys-root/mingw/include/stdio.h:9, from /home/berrange/src/virt/qemu/include/qemu/fprintf-fn.h:12, from /home/berrange/src/virt/qemu/include/qemu-common.h:18, from ui/gtk.c:37: /usr/i686-w64-mingw32/sys-root/mingw/include/_mingw.h:225:0: note: this is the location of the previous definition #define _WIN32_WINNT 0x502 ^ Signed-off-by: Daniel P. Berrange <berrange@redhat.com> --- include/ui/gtk.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)