VST3 build failing after upgrading JUCE to 7.0.6

Hello All,

I updated JUCE to 7.0.6 (in hope) to fix some automation issues I was having on Live11.
But encountered a build error,

Error	C2084	function 'std::unique_ptr<juce::AudioProcessor,std::default_delete<juce::AudioProcessor>> juce::createPluginFilterOfType(juce::AudioProcessor::WrapperType)' already has a body (compiling source file ..\..\JuceLibraryCode\include_juce_audio_plugin_client_utils.cpp)

This is PC/VST3.
Any help/suggestions to fix this are appreciated!

TIA!

@attila @reuk TIA!

The file juce_audio_plugin_client_utils.cpp no longer exists in JUCE 7.0.6.

Please try removing the JuceLibraryCode folder before resaving the project in the Projucer.

1 Like

@reuk I tried but build fails due to other files not finding then eg. juceHeader.h.
I’m sure there’s a decent way to achieve this, can you shed a light on it?

  • Make sure that you’re using the version of the Projucer that came with 7.0.6. If necessary, build the Projucer yourself using the project files provided in extras/Projucer/Builds.
  • Then, using the new Projucer, make sure that your module paths are pointing to JUCE 7.0.6 and not an older version of JUCE.
  • Finally, resave your project in the new version of the Projucer, open it in an IDE, and build it.

@reuk Thank you for quick response!

Tried these steps, but somehow the error persists. JuceLibraryCode folder is never getting removed, and if I do that manually, it complains about missing juceHeader.h.

On updating the global paths for modules and JUCE, it shouldn’t search for JuceHeader.h in JuceLibraryCode, correct?
That’s not happening. Is there any place I need to do these changes in project settings?

Thanks!

There’s not really enough information to say what might be happening. It would be helpful if you could describe the exact steps you’re taking, in as much detail as possible.

When you remove JuceLibraryCode and then save the project in the Projucer, does JuceLibraryCode get regenerated? If so, does the regenerated directory contain JuceHeader.h?

@reuk
Steps I’m doing:

  1. I’ve Projucer built from 7.0.6 extras/projucer/Builds, and using that for my projects.
  2. I did set global paths for Juce and Modules to 7.0.6
  3. Open my project in projucer (open .jucer file)
  4. Check Global paths again ( set to 7.0.6)
  5. Save and open in IDE - VS 2022.

Yes, it is regenerated and has JuceHeader.h.

Additional Tests I did:
Open and Build Juce demo example from 7.0.6 – It was initially not working for me ( Initially I was getting errors similar to this Build errors: VST3 post build script - JUCE 7.0.6. )

But, now it’s all solved and I was able to build AudioDemoPlugin from 7.0.6
Perhaps, it also generated JuceLibraryCode folder and has JuceHeader.h.

You’re setting the global paths, but are you making sure that the modules are actually using the global paths?

Another thought: Are you sure you open the new VS solution/vcproj file?
The only safe approach is wipe the Builds and the JuceLibraryCode folder and click “Open in IDE” button next to the “Selected Exporter” field.
Make sure if you have custom modifications in JuceLibraryCode/AppConfig.h to salvage those before wiping!

Thanks @reuk and @daniel for all the help!

It turned out that ‘Use Global Path’ setting in projucer > module was changed in new Projucer, and it wasn’t pointing the correct modules.

Thanks again!