0

I am trying to compile the FINUFFT library for using in my small personal C++ project. I sit on Windows11 + MinGW.

Firstly, I need to have FFTW library, since the FINUFFT has dependence on it. I just downloaded the following thing: 64-bit version: fftw-3.3.5-dll64.zip (3.1MB). It contains the header (fftw3.h) and dll files (libfftw3.dll,...), so I suppose I dont need to do anything else.

In order to compile FINUFFT I just supposed to download the FINUFFT directory and manage the make.inc file. I copied the make.inc.windows_mingw file as make.inc. Inside there are two lines which I suppose to change: directory to FFTW headers and FFTW dll files. I just putted it like that:

FFTW_H_DIR= C:\Users\user\Documents\finufft-master\fftw\
FFTW_LIB_DIR= C:\Users\user\Documents\finufft-master\fftw\

Since I already have MinGW, I run cmd and cd into directory of my downloaded FINUFFT files. And type:

make lib

And I get next message:

g++ -DSINGLE -c -O3 -funroll-loops -march=native -fcx-limited-range   -IC:\Users\user\Documents\qt\finufft-master\fftw FFTW_LIB_DIR= C:\Users\user\Documents\qt\finufft-master\fftw  -Iinclude -fPIC -std=c++14 -fopenmp src/finufft.cpp -o src/finufft_32.o
g++: warning: FFTW_LIB_DIR=: linker input file unused because linking not done
g++: error: FFTW_LIB_DIR=: linker input file not found: No such file or directory
g++: warning: C:\Users\user\Documents\qt\finufft-master\fftw: linker input file unused because linking not done
make: *** [makefile:157: src/finufft_32.o] Error 1

So I guess MinGW understood 'FFTW_H_DIR' but somehow failed linking with 'FFTW_LIB_DIR'.

How I can fix this? I cant even understand the reason why it fails. The github instruction for installation of FINUFFT says that I need 'FFTW3 including its development libraries'. Maybe I dont have this development libraries? What this suppose to mean? I tried googling but still have no idea.

Thank you very much in advance! Hope to eventually use the FINUFFT in my project, since it will significantly boost calculation speed.

HoloHolo
  • 1
  • 1
  • XY-Answer: [Consider using MSYS2](https://stackoverflow.com/a/30071634/4581301). It has a package manager that can supply up-to-date compilers along with a large ecosystem of matching libraries, including fftw. Why suffer with tool-wrangling unless you have to? – user4581301 Feb 09 '22 at 21:26

0 Answers0