Yes there is, it’s called static linking
Generally there are two types of libraries, dynamically linked libraries and static linked libraries. Dynamic libraries are not part of your plugin or application binary, so the plugin or application has to find it in a known location at startup. This way you can update the library and the plugin separately and the plugins binary size stays smaller, especially when you ship multiple versions (VST, AU, AAX…) of the plugin, all using the same lib. All system frameworks work this way, this allows e.g. your operating system to use different versions of a library, depending on the hardware you are running on. While you can rely on the system libraries to always be where the plugin expects them (with the Microsoft Visual C++ runtime library being the only exception to that), for dynamic libraries you have to take care of that yourself by making your installer install the library or embedding it in the plugin bundle.
In contrast to that, statically linked libraries are only needed at compile time, as they become a part of the resulting binary during the linkage step. With all the pro arguments for dynamic libraries stated above, static linked libraries are preferred by many developers, as they will just work, you don’t need to put any more effort in making your plugin portable between your build machine and any other computer out there.
Dynamic linked libraries have the file extension
.dll on Windows,
.dylib on MacOS and
.so on Linux. Static linked libraries have the file extension
.lib on Windows and
.a on MacOS and Linux.
That being said, did you consider just using the built-in FFT functionality of JUCE instead of using FFTW? I know of the great performance of FFTW but for some use cases the performance of the
juce::dsp::FFT will be more than enough, especially on Apple, where it uses the Apple Accelerate framework under the hood. In case you are targeting Apple only, you can also directly use the Accelerate FFT and maybe squeeze out some more performance by directly using the split complex data layout that Apple sets as default. These options would both save you from thinking about library linkage.