I encountered the following compilation error on mingw:
/mnt/d/qemu/include/qemu/osdep.h:97:9: error: '__USE_MINGW_ANSI_STDIO' macro redefined [-Werror,-Wmacro-redefined]
#define __USE_MINGW_ANSI_STDIO 1
^
/mnt/d/llvm-mingw/aarch64-w64-mingw32/include/_mingw.h:433:9: note: previous definition is here
#define __USE_MINGW_ANSI_STDIO 0 /* was not defined so it should be 0 */
It turns out that __USE_MINGW_ANSI_STDIO must be set before any
system headers are included, not just before stdio.h.
Signed-off-by: Cao Jiaxi <driver1998@foxmail.com>
---
include/qemu/osdep.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index 303d315c5d..af2b91f0b8 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -85,17 +85,17 @@ extern int daemon(int, int);
#endif
#endif
+/* enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later) */
+#ifdef __MINGW32__
+#define __USE_MINGW_ANSI_STDIO 1
+#endif
+
#include <stdarg.h>
#include <stddef.h>
#include <stdbool.h>
#include <stdint.h>
#include <sys/types.h>
#include <stdlib.h>
-
-/* enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later) */
-#ifdef __MINGW32__
-#define __USE_MINGW_ANSI_STDIO 1
-#endif
#include <stdio.h>
#include <string.h>
--
2.17.1
On 03/05/2019 02.37, Cao Jiaxi wrote: > I encountered the following compilation error on mingw: > > /mnt/d/qemu/include/qemu/osdep.h:97:9: error: '__USE_MINGW_ANSI_STDIO' macro redefined [-Werror,-Wmacro-redefined] > #define __USE_MINGW_ANSI_STDIO 1 > ^ > /mnt/d/llvm-mingw/aarch64-w64-mingw32/include/_mingw.h:433:9: note: previous definition is here > #define __USE_MINGW_ANSI_STDIO 0 /* was not defined so it should be 0 */ > > It turns out that __USE_MINGW_ANSI_STDIO must be set before any > system headers are included, not just before stdio.h. > > Signed-off-by: Cao Jiaxi <driver1998@foxmail.com> > --- > include/qemu/osdep.h | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h > index 303d315c5d..af2b91f0b8 100644 > --- a/include/qemu/osdep.h > +++ b/include/qemu/osdep.h > @@ -85,17 +85,17 @@ extern int daemon(int, int); > #endif > #endif > > +/* enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later) */ > +#ifdef __MINGW32__ > +#define __USE_MINGW_ANSI_STDIO 1 > +#endif > + > #include <stdarg.h> > #include <stddef.h> > #include <stdbool.h> > #include <stdint.h> > #include <sys/types.h> > #include <stdlib.h> > - > -/* enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later) */ > -#ifdef __MINGW32__ > -#define __USE_MINGW_ANSI_STDIO 1 > -#endif > #include <stdio.h> > > #include <string.h> > Reviewed-by: Thomas Huth <thuth@redhat.com>
On 03.05.19 07:11, Thomas Huth wrote: > On 03/05/2019 02.37, Cao Jiaxi wrote: >> I encountered the following compilation error on mingw: >> >> /mnt/d/qemu/include/qemu/osdep.h:97:9: error: '__USE_MINGW_ANSI_STDIO' macro redefined [-Werror,-Wmacro-redefined] >> #define __USE_MINGW_ANSI_STDIO 1 >> ^ >> /mnt/d/llvm-mingw/aarch64-w64-mingw32/include/_mingw.h:433:9: note: previous definition is here >> #define __USE_MINGW_ANSI_STDIO 0 /* was not defined so it should be 0 */ >> >> It turns out that __USE_MINGW_ANSI_STDIO must be set before any >> system headers are included, not just before stdio.h. >> >> Signed-off-by: Cao Jiaxi <driver1998@foxmail.com> >> --- >> include/qemu/osdep.h | 10 +++++----- >> 1 file changed, 5 insertions(+), 5 deletions(-) >> >> diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h >> index 303d315c5d..af2b91f0b8 100644 >> --- a/include/qemu/osdep.h >> +++ b/include/qemu/osdep.h >> @@ -85,17 +85,17 @@ extern int daemon(int, int); >> #endif >> #endif >> >> +/* enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later) */ >> +#ifdef __MINGW32__ >> +#define __USE_MINGW_ANSI_STDIO 1 >> +#endif >> + >> #include <stdarg.h> >> #include <stddef.h> >> #include <stdbool.h> >> #include <stdint.h> >> #include <sys/types.h> >> #include <stdlib.h> >> - >> -/* enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later) */ >> -#ifdef __MINGW32__ >> -#define __USE_MINGW_ANSI_STDIO 1 >> -#endif >> #include <stdio.h> >> >> #include <string.h> >> > > Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Stefan Weil <sw@weilnetz.de>
© 2016 - 2026 Red Hat, Inc.