I hit a wall with a plugin using JUCE 5.4.7, Visual Studio 2019 in Windows 10. Here is the description:
I created a plugin and used the AudioPluginHost to check the VST3, and everything works perfect inside Visual Studio. (Also the standalone works perfect).
THE PROBLEM is when I try to open the vst3 in the DAW (Reaper in this case), the plugin seems not pass the validation. And I check why, and it’s because of the IPP libraries (I am using them for the FFT).
I tried adding the IPP (default linking) from the “Exporters” configuration. The VST3 compile and works but just in the IDE. But in reaper doesn’t work at all.
I also tried by NOT adding the IPP from the exporters, instead, adding the Paths manually in VC++ directories in Visual Studio, BUT if I do this the libraries are not recognized (I can’t use #include <ipp.h>).
can someone give me a hint here? Thanks!
My guess is that you are using dynamic linking, and whenever you launch the plugin from the IDE the DLL resolution starts from a different search root, than when you load it in Reaper. That’s why it works in one case but not the other.
If you are okay with static linking that would solve this problem.
If you want to stick with dynamic linking, you need to make sure that Reaper will find the IPP DLLs (stuff like ipps.dll) according to Windows’ Dynamic-Link Library Search Order.
You can use Process Monitor to investigate such situations. Using this utility you can log all system calls made by an executable - Reaper in this case -, and see what DLLs it is trying to load, and at what paths it’s trying to find it.
Thanks for the reply. As you said, I was using dynamic linking, when I set IPP static linking on Exporters, I forgot to change “debug” in Visual Studio to static too. So static linking in both solved everything!