diff --git a/MagickCore/annotate.c b/MagickCore/annotate.c
index f50c660..cd5722f 100644
--- a/MagickCore/annotate.c
+++ b/MagickCore/annotate.c
@@ -79,7 +79,7 @@
#include "MagickCore/xwindow.h"
#include "MagickCore/xwindow-private.h"
#if defined(MAGICKCORE_FREETYPE_DELEGATE)
-#if defined(__MINGW32__)
+#if defined(__MINGW32__) || defined(__MINGW64__)
# undef interface
#endif
#if defined(MAGICKCORE_HAVE_FT2BUILD_H)
diff --git a/MagickCore/magick-type.h b/MagickCore/magick-type.h
index d72c1f4..7af07ae 100644
--- a/MagickCore/magick-type.h
+++ b/MagickCore/magick-type.h
@@ -28,7 +28,7 @@
#define MAGICKCORE_QUANTUM_DEPTH 16
#endif
-#if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(__MINGW32__)
+#if defined(MAGICKCORE_WINDOWS_SUPPORT) && \!defined(__MINGW32__) && \!defined(__MINGW64__)
# define MagickLLConstant(c) (MagickOffsetType) (c ## i64)
# define MagickULLConstant(c) (MagickSizeType) (c ## ui64)
#else
diff --git a/MagickCore/magick.c b/MagickCore/magick.c
index b329806..553ee07 100644
--- a/MagickCore/magick.c
+++ b/MagickCore/magick.c
@@ -1243,7 +1243,7 @@
events=DestroyString(events);
}
#if defined(MAGICKCORE_WINDOWS_SUPPORT)
-#if defined(_DEBUG) && !defined(__BORLANDC__) && !defined(__MINGW32__)
+#if defined(_DEBUG) && !defined(__BORLANDC__) && \!defined(__MINGW32__) && \!defined(__MINGW64__)
if (IsEventLogging() != MagickFalse)
{
int
diff --git a/MagickCore/nt-base-private.h b/MagickCore/nt-base-private.h
index ec3caa9..0d99508 100644
--- a/MagickCore/nt-base-private.h
+++ b/MagickCore/nt-base-private.h
@@ -39,7 +39,7 @@
#include <io.h>
#include <process.h>
#include <errno.h>
-#if defined(_DEBUG) && !defined(__MINGW32__)
+#if defined(_DEBUG) && \!defined(__MINGW32__) && \!defined(__MINGW64__)
#include <crtdbg.h>
#endif
@@ -97,7 +97,7 @@
#if !defined(fileno)
# define fileno _fileno
#endif
-#if !defined(fseek) && !defined(__MINGW32__)
+#if !defined(fseek) && \!defined(__MINGW32__) && \!defined(__MINGW64__)
#if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(Windows95) && \
!(defined(_MSC_VER) && (_MSC_VER < 1400)) && (__MSVCRT_VERSION__ < 0x800)
# define fseek _fseeki64
@@ -114,7 +114,7 @@
#if !defined(fsync)
# define fsync _commit
#endif
-#if !defined(ftell) && !defined(__MINGW32__)
+#if !defined(ftell) && \!defined(__MINGW32__) && \!defined(__MINGW64__)
#if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(Windows95) && \
!(defined(_MSC_VER) && (_MSC_VER < 1400)) && (__MSVCRT_VERSION__ < 0x800)
# define ftell _ftelli64
@@ -328,7 +328,7 @@
ullAvailExtendedVirtual;
} NTMEMORYSTATUSEX;
-#if !defined(__MINGW32__)
+#if \!defined(__MINGW32__) && \!defined(__MINGW64__)
struct timezone
{
int
@@ -372,7 +372,7 @@
extern MagickPrivate int
Exit(int),
-#if !defined(__MINGW32__)
+#if \!defined(__MINGW32__) && \!defined(__MINGW64__)
gettimeofday(struct timeval *,struct timezone *),
#endif
IsWindows95(void),
diff --git a/MagickCore/nt-base.c b/MagickCore/nt-base.c
index 0efb1b0..268b8d6 100644
--- a/MagickCore/nt-base.c
+++ b/MagickCore/nt-base.c
@@ -241,7 +241,7 @@
return(0);
}
-#if !defined(__MINGW32__)
+#if \!defined(__MINGW32__) && \!defined(__MINGW64__)
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
diff --git a/MagickCore/random.c b/MagickCore/random.c
index 142e782..449c1c0 100644
--- a/MagickCore/random.c
+++ b/MagickCore/random.c
@@ -44,7 +44,7 @@
#if defined(__VMS)
#include <time.h>
#endif
-#if defined(__MINGW32__)
+#if defined(__MINGW32__) || defined(__MINGW64__)
#include <sys/time.h>
#endif
#include "MagickCore/studio.h"
diff --git a/MagickCore/utility-private.h b/MagickCore/utility-private.h
index 23d6f63..0a9c6dc 100644
--- a/MagickCore/utility-private.h
+++ b/MagickCore/utility-private.h
@@ -47,7 +47,7 @@
static inline int access_utf8(const char *path,int mode)
{
-#if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__)
+#if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__)
return(access(path,mode));
#else
int
@@ -71,7 +71,7 @@
static inline FILE *fopen_utf8(const char *path,const char *mode)
{
-#if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__)
+#if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__)
return(fopen(path,mode));
#else
FILE
@@ -105,14 +105,14 @@
#endif
}
-#if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(__CYGWIN__) && !defined(__MINGW32__)
+#if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(__CYGWIN__) && \!defined(__MINGW32__) && \!defined(__MINGW64__)
typedef int
mode_t;
#endif
static inline int open_utf8(const char *path,int flags,mode_t mode)
{
-#if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__)
+#if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__)
return(open(path,flags,mode));
#else
int
@@ -136,7 +136,7 @@
static inline FILE *popen_utf8(const char *command,const char *type)
{
-#if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__)
+#if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__)
return(popen(command,type));
#else
FILE
@@ -172,7 +172,7 @@
static inline int remove_utf8(const char *path)
{
-#if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__)
+#if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__)
return(unlink(path));
#else
int
@@ -196,7 +196,7 @@
static inline int rename_utf8(const char *source,const char *destination)
{
-#if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__)
+#if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__)
return(rename(source,destination));
#else
int
@@ -231,7 +231,7 @@
static inline int stat_utf8(const char *path,struct stat *attributes)
{
-#if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__)
+#if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__)
return(stat(path,attributes));
#else
int