New and existing VST3 projects won't build on MacOS after upgrading to JUCE 7.0.10

I upgraded to JUCE 7.0.10 today and I’m having problems building for VST3 on MacOS with XCode. I wasn’t sure if there’s something unusual in my project (I’m working through the synth project from the “Creating Synthesizer Plug-Ins with C++ and JUCE” book), so I tried making a fresh plugin project with Projucer and it seems like there is a consistent new problem in 7.0.10.

I downgraded to 7.0.9 to double check and it’s still fine there: I can create a new plugin project in Projucer with the default options. I export to XCode, build the VST3 target, and it succeeds. I can open the plugin in the AudioPluginHost and it works as expected.

Now I try the same thing after upgrading to 7.0.10. When I try to build in XCode I get this error and the build fails:

juce_VST3ManifestHelper.mm Build input file cannot be found: '/Users/.../path/to/my/project/Builds/MacOSX/~/JUCE/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.mm'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it?

The interesting thing is ~/JUCE/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.mm exists. So maybe it shouldn’t be pre-pending the path of my project to this module path?

Is this a new bug in the XCode exporter? Any workarounds? I’m learning JUCE and C++ and XCode pretty much all at the same time, so I’m completely lost as to why this is happening or what to do about it. So I’ll keep using JUCE 7.0.9 for now.

More details:

1 Like

There’s a fix on the way.

From editor tab Build Phases → Compile Sources “TARGETS” → “{YOUR_PROJECT} - VST3 Manifest Helper” copy the Compiler Flags
In File navigator remove (REFERNCE no Move) the juce_VST3ManifestHelper.mm from “Recovered References” group. (Remove Reference).
Right click on “Recovered References” choose “Add file to YOUR_PROJECT”
navigate to “JUCE/modules/juce_audio_plugin_client/VST3/” and add “juce_VST3ManifestHelper.mm”
Click on your root project from file navigator, in editor tab click on “Target {YOUR_PROJECT} - VST3 Manifest Helper” (from where u copied the Compiler Flags, now is without Compile Sources)
Build Phases → Compile Sources click + and navigate to “Recovered References/juce_VST3ManifestHelper.mm” and add the file
In “Compiler Flags” past the copied flags

1 Like

Ok cool, so it looks like if I build JUCE myself from the develop branch, this will be fixed. I assume this fix will be in the 7.0.11 release if I wait for that?

Also, thank you @barelyosi for the workaround info. Since a proper fix is now available I will rely on that.

Just wanted to say thanks for posting this and for the solutions shared! Was in the exact same boat and would have been left scratching my head if not for this thread. :smile:

If you installed 7.0.10 on a Mac, a simple workaround is to edit global paths in Projucer and change ~/JUCE to the corresponding absolute path (like /Users/adam/JUCE), and also change the JUCE modules path to be an absolute path.