Juce Modules as static lib

I am trying to build JUCE modules as a static library using projucer in VS 2015.
It builds and I could link it with my own dll project without errors.
But when I tried to load the plugin into reaper (DAW) 64 bit. It says “cannot load the plugin effect configuration is preserved” . But the plugin is 64 bit not 32-bit . This issue occurs after adding JUCE modules as a static lib.
What can be the reason ?


I’m not sure what’s happening there. Why do you think this is a 32 bit vs 64 bit issue?

You could try loading your plug-in in the JUCE Demo Host, perhaps that would provide you with more information.

It’s because in Pro-tools when I tried to load the plugin, it gives error AAE 7054 - it gives such an error when we try to load 32 bit plugin in 64 bit.

I tried to load the plugin in JUCE Demo Host but it fails to load with following error statement:

error statement: “Note that following files appeared to be plugin files, but failed to load correctly.”

How are you compiling your plug-in? Does it work if you link a different non-JUCE static library?

Are you trying to run the same plugin in ProTools and the Juce Plugin Host? You are probably aware, that they use a different plugin type, therfore a different juce wrapper and a different SDK…
Which ProTools Version are you using? only versions up to 10 supported 32 bit plugins…
It will not work by simply renaming the plugin file…

It works properly when I use projucer to add the JUCE Modules. This issue occurs when I add JUCE Modules as a static lib. I created a static lib of JUCE using projucer and linked it to my dll project.

Is your dll project a plug-in? If not then what you’re trying to do will not work. Building a plug-in with JUCE is very different to building a static library.

Yes my dll project is a plugin

How are you compiling your plug-in?

I am trying to use JUCE without projucer. Instead of adding the modules integrate it as a static lib. I used the same app config as that of my project inorder to build juce static lib and had JUCE_DLL_BUILD enabled.

I use VS2015 on windows 7 64 bit

In your dll project how are you including the dll entry points for each plug-in type?

Pull the latest develop branch of the JUCE repo, compile the Projucer and look at how we’re doing things with the new exporters. Our approach is very similar to yours - we compile all of the common functionality into a single static library and link with the plug-in specific code for each plug-in type. There’s a fair number of flags you need to set correctly and lot you need to get right when you do this; it’s not an easy task and I wouldn’t recommend it! The plug-in specific code is not something you can bundle into a static library and share across different projects.

If you want to avoid the Projucer can you just save your project once and then work with the generated Visual Studio project from then?

The issue was with the aax and vst wrappers. When I build a static lib of juce and when I tried to link it with my dll project it doesn’t link vst and aax wrappers to my project (reason I don’t know)

The rest of the modules works with juce lib except vst and aax wrapper. which I am adding manually now.

Reason why I am not using projucer is that it overwrites the PACE settings everytime I save the project.

1 Like