I have successfully been using FFTW with my Fortran 90 source code on a Windows XP IA-32 platform. I am creating a DLL for Matlab using their MEX function utility. I am using the .lib and .dll files that I downloaded from the FFTW website. In order to use FFTW I had to include INTERFACE statements in the subroutines that called the FFTW functions. The compile and link has been,
mex myfortran.f90 libfftw3-3.lib
with the libfftw3-3.dll file in the current directory.
I am trying to use the MKL FFTW routines now and can not get the linker to recognize the FFTW functions. I have successfully made the "fftw3xf_ms.lib" library using the Intel Fortran 9.1 compiler and the Microsoft C-compiler. I have tried the following commands,
mex myfortran.f90 fftw3xf_ms.lib mkl_s.lib
mex myfortran.f90 fftw3xf_ms.lib mkl_s.lib mkl_ia32.lib
with and without the INTERFACE commands in my source code and I still get the following errors,
unresolved external symbol _dfftw_destroy_plan__
unresolved external symbol _dfftw_cleanup__
etc ... which are all of the FFTW functions calls.
Could you please help me link the proper libraries (and syntax?) to get the MKL FFTW routines to my code?
Thank you so much for your help. I very much appreciate your time!