Audio Plugin Host won't build due to errors in VST3 SDK, not sure why

I’m completely new to JUCE. When I attempt to set up the Audio Plugin Host (following the instructions on this page) by opening AudioPluginHost.jucer in Projucer, then clicking the button to open it in my selected IDE (Visual Studio 2019). However, when attempting to build it in Visual Studio, it gets a ways in before throwing error after error and failing. These errors all appear to take place within files inside the VST3 SDK, and I have tried using both the SDK download off of Steinberg’s site and the one included in JUCE\modules\juce_audio_processors\format_types. I’m not sure what the problem could be (is it an issue with Visual Studio?), or how to go about fixing it - like I said, I’m completely new to JUCE.

Here are the first 6 lines of errors:

1>D:\Program files\JUCE\modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base\ftypes.h(54): error C2374: 'Steinberg::kMaxLong': redefinition; multiple initialization (compiling source file ..\..\JuceLibraryCode\include_juce_audio_processors.cpp)
1>D:\Program files\JUCE\modules\juce_audio_processors\format_types\pluginterfaces\base\ftypes.h(54): note: see declaration of 'Steinberg::kMaxLong' (compiling source file ..\..\JuceLibraryCode\include_juce_audio_processors.cpp)
1>D:\Program files\JUCE\modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base\ftypes.h(55): error C2374: 'Steinberg::kMinLong': redefinition; multiple initialization (compiling source file ..\..\JuceLibraryCode\include_juce_audio_processors.cpp)
1>D:\Program files\JUCE\modules\juce_audio_processors\format_types\pluginterfaces\base\ftypes.h(55): note: see declaration of 'Steinberg::kMinLong' (compiling source file ..\..\JuceLibraryCode\include_juce_audio_processors.cpp)
1>D:\Program files\JUCE\modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base\ftypes.h(56): error C2374: 'Steinberg::kMaxInt32': redefinition; multiple initialization (compiling source file ..\..\JuceLibraryCode\include_juce_audio_processors.cpp)
1>D:\Program files\JUCE\modules\juce_audio_processors\format_types\pluginterfaces\base\ftypes.h(56): note: see declaration of 'Steinberg::kMaxInt32' (compiling source file ..\..\JuceLibraryCode\include_juce_audio_processors.cpp)

It seems that you have two copies of the VST3 headers:

  • one in JUCE/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces
  • and one in JUCE/modules/juce_audio_processors/format_types/pluginterfaces

The second one doesn’t exist in the original JUCE repository, so I guess you added it by accident. Removing it should solve your problem.

I hope this helps.

1 Like

Thank you so much! That seems to have solved the issue.

1 Like