FFTW3 in C++ node - how to?
-
I am looking to access and use the FFTW3 library in an external C++ node (I know its GPL). I followed @d-healey's video for setting it up fftw3 in HISE.
In fact I am able to do exactly this same operation Dave describes, editing the configuration of the autogenerated Visual Studio solution, linking the library to my project and using it in a node. However, it's not a permanent fix since each time I recompile my nodes within HISE, that solution is overwritten. So I am wondering if there is a way for me to link my node to the library from the external C++ node script?
AI is telling me add this:
#define FFTW_DLL #pragma comment(lib, "libfftw3-3.lib") #pragma comment(linker, "/LIBPATH:\"C:\\Program Files\\Common Files\\fftw3\"") #include "fftw3.h"
But the compiler can't find them. The location is correct (C:\Program Files\Common Files\fftw3) , it's just not linking correctly!
-
@HISEnberg I don't know if it makes a difference but that video is for using it as a shared library.
You might want to check the fftw section of this video
-
@d-healey Cool this looks like it might help I'll give it a shot!
-
@d-healey The video was certainly helpful but unfortunatley I am still getting the same linking errors.
What I find odd is if I edit the configuration of the project directly in Visual Studio I can get the fftw3 linked, but anything I try to script (forward slashes /, back slashes \ , double slashes //) are all failing to link...
@Christoph-Hart do you have any ideas? Should I include the fftw3 library in my project instead?
As a side note, have you considered licensing this library to operate as the main FFT base for HISE? It could be a nice alternative: super fast and works on Mac, Windows & Linux.
-
@HISEnberg said in FFTW3 in C++ node - how to?:
As a side note, have you considered licensing this library to operate as the main FFT base for HISE? It could be a nice alternative: super fast and works on Mac, Windows & Linux.
It's not need on MacOS and there's no advantage to it on Windows over IPP - except the GPL, in which case you don't need to buy a license anyway.