Some functions are missing the dllexport attribute. That means they aren't
exported.  To work around that, don't add the dllexport attribute to any
functions because that is not necessary with MinGW64.

diff -urN fftw-3.3.10/api/api.h.orig fftw-3.3.10/api/api.h
--- fftw-3.3.10/api/api.h.orig	2020-12-10 13:02:44.000000000 +0100
+++ fftw-3.3.10/api/api.h	2023-02-28 14:18:43.815688000 +0100
@@ -40,7 +40,7 @@
    linking bench.exe will fail.  This has the advantage of forcing
    us to mark things correctly, which is necessary for other compilers
    (such as MS VC++). */
-#ifdef DLL_EXPORT
+#if defined (DLL_EXPORT) && defined (_MSC_VER)
 #  define FFTW_DLL
 #endif
 
diff -urN fftw-3.3.10/kernel/ifftw.h.orig fftw-3.3.10/kernel/ifftw.h
--- fftw-3.3.10/kernel/ifftw.h.orig	2020-12-10 13:02:44.000000000 +0100
+++ fftw-3.3.10/kernel/ifftw.h	2023-02-28 14:10:07.971862800 +0100
@@ -52,7 +52,7 @@
    under Windows when compiling as a DLL (see api/fftw3.h). */
 #if defined(FFTW_EXTERN)
 #  define IFFTW_EXTERN FFTW_EXTERN
-#elif (defined(FFTW_DLL) || defined(DLL_EXPORT)) \
+#elif defined(FFTW_DLL) \
  && (defined(_WIN32) || defined(__WIN32__))
 #  define IFFTW_EXTERN extern __declspec(dllexport)
 #else
