Plugininterfaces/vst2.x/vstfxstore.h not found

Hi guys,
I finally tried to clean up my project and add the VST3SDK and JUCE as submodules, instead of having them in global folders…

Unfortunately I’m not getting the error plugininterfaces/vst2.x/vstfxstore.h not found.

I’m only building a VST3 and if I add the files vst2.x folder manually everything builds perfectly.
It’s just silly to base everything on a submodule and then manually altering the submodule.

All submodules are on the newest master, as I just initialised them.

I somehow think that these lines in juice_VST3_Wrapper.cpp are causing the problem. In the new JUCE version the folder vst2.x doesn’t even exist.

#if JUCE_VST3_CAN_REPLACE_VST2
namespace Vst2
{
#include "pluginterfaces/vst2.x/vstfxstore.h"
}
#endif

Any ideas?

Thanks!

Have a look at the JUCE 5.4 release notes, particularly the breaking changes section:

Change

The VST2 SDK embedded within JUCE has been removed.

Possible Issues

  1. Building or hosting VST2 plug-ins requires header files from the VST2 SDK,
    which is no longer part of JUCE.
  2. Building a VST2-compatible VST3 plug-in (the previous default behaviour in
    JUCE) requires header files from the VST2 SDK, which is no longer part of
    JUCE. When a new JUCE plug-in project is created the option
    JUCE_VST3_CAN_REPLACE_VST2 will be set to zero.

Workaround

  1. The VST2 SDK can be obtained from the vstsdk3610_11_06_2018_build_37 (or
    older) VST3 SDK or JUCE version 5.3.2. You should put the VST2 SDK in your
    header search paths or use the “VST (Legacy) SDK Folder” fields in the
    Projucer.
  2. For new plug-in projects where you will be releasing both a VST2 and VST3
    version, and you want the VST3 plug-in to replace the VST2 plug-in in
    hosts that support it, then you should enable the JUCE_VST3_CAN_REPLACE_VST2
    option.

Rationale
Distributing VST2 plug-ins requires a VST2 license from Steinberg. Following
Steinberg’s removal of the VST2 SDK from their public SDKs we are also removing
the VST2 SDK from the JUCE codebase.

This thread goes into more detail:

You shouldn’t need a separate VST3 SDK if you are not modifying it, as JUCE contains an embedded VST3 SDK.

If you have already released a plug-in then you will need the VST2 SDK files. If you have not released a plug-in then set JUCE_VST3_CAN_REPLACE_VST2=0.

You’d have to use the undef preprocessor directive; e.g. Add the undef line below the directives to define the VST2 setting you mentioned. In any event, a new repo has been uploaded which still poses problems in regards to “plugininterfaces/vst2.x/vstfxstore.h” still not being found, and further, the …/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp creating the Vst2 namespace

Here’s an attempt to try undef,

#ifndef JUCE_VST3_CAN_REPLACE_VST2
#define JUCE_VST3_CAN_REPLACE_VST2 1
#endif
#undef JUCE_VST3_CAN_REPLACE_VST2

Which works but files are still attempted to be located in XCode 10.x

Here’s the new VST3 repo for the support that WeAreRoli sent out a notification of today,