VST3 no longer builds with latest develop

In file included from /Users/rrabien/dev.github/NexusX/modules/JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.mm:35:
In file included from /Users/rrabien/dev.github/NexusX/modules/JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp:83:
In file included from /Users/rrabien/dev.github/NexusX/modules/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:148:
In file included from /Users/rrabien/dev.github/NexusX/modules/JUCE/modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp:38:
/Users/rrabien/dev.github/NexusX/modules/JUCE/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h:347:6: error: static assertion failed due to requirement 'std::is_same<const char *, Steinberg::FUID>::value': Do not compare a FUID with a TUID directly. Either convert the TUID to a FUID and compare them or use FUnknownPrivate::iidEqual
  347 |             std::is_same<typename std::remove_cv<T>::type, FUID>::value,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/rrabien/dev.github/NexusX/modules/JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.mm:35:
/Users/rrabien/dev.github/NexusX/modules/JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp:1676:23: note: in instantiation of function template specialization 'Steinberg::operator==<const char *>' requested here
 1676 |         if (targetIID == Vst::IRemapParamID::iid)
      |                       ^
In file included from /Users/rrabien/dev.github/NexusX/modules/JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.mm:35:
In file included from /Users/rrabien/dev.github/NexusX/modules/JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp:83:
In file included from /Users/rrabien/dev.github/NexusX/modules/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:148:
In file included from /Users/rrabien/dev.github/NexusX/modules/JUCE/modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp:38:
/Users/rrabien/dev.github/NexusX/modules/JUCE/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h:349:24: error: reference to type 'const FUID' could not bind to an lvalue of type 'const char *'
  349 |         return f1.operator== (f2);
      |                               ^~
/Users/rrabien/dev.github/NexusX/modules/JUCE/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h:264:32: note: passing argument to parameter 'f' here
  264 |         bool operator == (const FUID& f) const { return ::Steinberg::FUnknownPrivate::iidEqual (data, f.data); }
      |                                       ^
2 errors generated.

Thanks I’ll take a look right away.

I can’t seem to reproduce locally, can you try this patch please.
JUCE-dev-17-05-05.patch (801 Bytes)

That fixed it, thanks.

This is fixed on develop now, thanks for reporting.

1 Like