Hi Rory, thanks for the quick reply.
It must be something I’ve missed. Maybe a specific ms toolchain version? (I tried both 141 and 140) Some of these errors look fundamentally wrong…
Here are some parts of the build log:
1> _Ty=juce::XmlElement
1> ] (compiling source file ..\..\Source\Application\CabbageDocumentWindow.cpp)
1>c:\users\theda\documents\cabbage\source\lookandfeel\../Utilities/CabbageUtilities.h(1089): note: nullptr can only be converted to pointer or handle types (compiling source file ..\..\Source\Application\CabbageDocumentWindow.cpp)
1>c:\users\theda\documents\cabbage\source\lookandfeel\../Utilities/CabbageUtilities.h(1092): warning C4996: 'juce::XmlElement::writeToFile': was declared deprecated (compiling source file ..\..\Source\Application\CabbageDocumentWindow.cpp)
1>c:\users\theda\documents\cabbage\jucelibrarycode\modules\juce_core\xml/juce_XmlElement.h(718): note: see declaration of 'juce::XmlElement::writeToFile' (compiling source file ..\..\Source\Application\CabbageDocumentWindow.cpp)
1>c:\users\theda\documents\cabbage\source\audio\plugins\../../Utilities/CabbageUtilities.h(1005): error C2679: binary '=': no operator found which takes a right-hand operand of type 'std::unique_ptr<juce::XmlElement,std::default_delete<_Ty>>' (or there is no acceptable conversion)
1> with
1> [
1> _Ty=juce::XmlElement
1> ] (compiling source file ..\..\Source\Audio\Plugins\CabbageInternalPluginFormat.cpp)
1>c:\users\theda\documents\cabbage\jucelibrarycode\modules\juce_core\memory/juce_ScopedPointer.h(82): note: could be 'juce::ScopedPointer<juce::XmlElement> &juce::ScopedPointer<juce::XmlElement>::operator =(juce::ScopedPointer<juce::XmlElement> &&) noexcept' (compiling source file ..\..\Source\Audio\Plugins\CabbageInternalPluginFormat.cpp)
1>c:\users\theda\documents\cabbage\source\lookandfeel\../Utilities/CabbageUtilities.h(675): warning C4389: '!=': signed/unsigned mismatch (compiling source file ..\..\Source\Application\CabbageToolbarFactory.cpp)
1>c:\users\theda\documents\cabbage\jucelibrarycode\modules\juce_core\memory/juce_ScopedPointer.h(71): note: or 'juce::ScopedPointer<juce::XmlElement> &juce::ScopedPointer<juce::XmlElement>::operator =(ObjectType *)'
1> with
1> [
1> ObjectType=juce::XmlElement
1> ] (compiling source file ..\..\Source\Audio\Plugins\CabbageInternalPluginFormat.cpp)
1>c:\users\theda\documents\cabbage\jucelibrarycode\modules\juce_core\memory/juce_ScopedPointer.h(58): note: or 'juce::ScopedPointer<juce::XmlElement> &juce::ScopedPointer<juce::XmlElement>::operator =(juce::ScopedPointer<juce::XmlElement> &)' (compiling source file ..\..\Source\Audio\Plugins\CabbageInternalPluginFormat.cpp)
1>c:\users\theda\documents\cabbage\source\audio\plugins\../../Utilities/CabbageUtilities.h(1005): note: while trying to match the argument list '(juce::ScopedPointer<juce::XmlElement>, std::unique_ptr<juce::XmlElement,std::default_delete<_Ty>>)'
and
1>c:\users\theda\documents\cabbage\source\LookAndFeel/CabbageLookAndFeel2.h(31): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called (compiling source file ..\..\Source\Audio\Plugins\CabbagePluginProcessor.cpp)
1>c:\users\theda\documents\cabbage\source\audio\plugins\GenericCabbageEditor.h(110): error C2440: 'initializing': cannot convert from 'const juce::Array<juce::AudioProcessorParameter *,juce::DummyCriticalSection,0>' to 'const juce::OwnedArray<juce::AudioProcessorParameter,juce::DummyCriticalSection> &' (compiling source file ..\..\Source\Audio\Plugins\GenericCabbageEditor.cpp)
1>c:\users\theda\documents\cabbage\source\audio\plugins\GenericCabbageEditor.h(110): note: Reason: cannot convert from 'const juce::Array<juce::AudioProcessorParameter *,juce::DummyCriticalSection,0>' to 'const juce::OwnedArray<juce::AudioProcessorParameter,juce::DummyCriticalSection>' (compiling source file ..\..\Source\Audio\Plugins\GenericCabbageEditor.cpp)
1>c:\users\theda\documents\cabbage\source\audio\plugins\GenericCabbageEditor.h(110): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called (compiling source file ..\..\Source\Audio\Plugins\GenericCabbageEditor.cpp)
1>c:\users\theda\documents\cabbage\source\audio\plugins\GenericCabbageEditor.h(116): error C2440: 'initializing': cannot convert from 'const juce::Array<juce::AudioProcessorParameter *,juce::DummyCriticalSection,0>' to 'const juce::OwnedArray<juce::AudioProcessorParameter,juce::DummyCriticalSection> &' (compiling source file ..\..\Source\Audio\Plugins\GenericCabbageEditor.cpp)
1>c:\users\theda\documents\cabbage\source\audio\plugins\GenericCabbageEditor.h(116): note: Reason: cannot convert from 'const juce::Array<juce::AudioProcessorParameter *,juce::DummyCriticalSection,0>' to 'const juce::OwnedArray<juce::AudioProcessorParameter,juce::DummyCriticalSection>' (compiling source file ..\..\Source\Audio\Plugins\GenericCabbageEditor.cpp)
1>c:\users\theda\documents\cabbage\source\audio\plugins\GenericCabbageEditor.h(116): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called (compiling source file ..\..\Source\Audio\Plugins\GenericCabbageEditor.cpp)
1>c:\users\theda\documents\cabbage\source\audio\plugins\../../Widgets/CabbageXYPad.h(150): warning C4458: declaration of 'dragLine' hides class member (compiling source file ..\..\Source\Audio\Plugins\CabbagePluginProcessor.cpp)
and finally
1>c:\users\theda\documents\cabbage\jucelibrarycode\modules\juce_audio_processors\format_types\juce_VST3Common.h(180): error C2039: 'kSpeakerACN0': is not a member of 'Steinberg::Vst' (compiling source file ..\..\JuceLibraryCode\include_juce_audio_processors.cpp)
1>C:\SDKs\VSTSDK\VST3_SDK\public.sdk/source/vst/hosting/hostclasses.cpp(42): note: see declaration of 'Steinberg::Vst' (compiling source file ..\..\JuceLibraryCode\include_juce_audio_processors.cpp)
1>c:\users\theda\documents\cabbage\jucelibrarycode\modules\juce_audio_processors\format_types\juce_VST3Common.h(180): error C2065: 'kSpeakerACN0': undeclared identifier (compiling source file ..\..\JuceLibraryCode\include_juce_audio_processors.cpp)
1>c:\users\theda\documents\cabbage\jucelibrarycode\modules\juce_audio_processors\format_types\juce_VST3Common.h(181): error C2039: 'kSpeakerACN1': is not a member of 'Steinberg::Vst' (compiling source file ..\..\JuceLibraryCode\include_juce_audio_processors.cpp)
1>C:\SDKs\VSTSDK\VST3_SDK\public.sdk/source/vst/hosting/hostclasses.cpp(42): note: see declaration of 'Steinberg::Vst' (compiling source file ..\..\JuceLibraryCode\include_juce_audio_processors.cpp)
1>c:\users\theda\documents\cabbage\jucelibrarycode\modules\juce_audio_processors\format_types\juce_VST3Common.h(181): error C2065: 'kSpeakerACN1': undeclared identifier (compiling source file ..\..\JuceLibraryCode\include_juce_audio_processors.cpp)
1>c:\users\theda\documents\cabbage\jucelibrarycode\modules\juce_audio_processors\format_types\juce_VST3Common.h(182): error C2039: 'kSpeakerACN2': is not a member of 'Steinberg::Vst' (compiling source file ..\..\JuceLibraryCode\include_juce_audio_processors.cpp)
1>C:\SDKs\VSTSDK\VST3_SDK\public.sdk/source/vst/hosting/hostclasses.cpp(42): note: see declaration of 'Steinberg::Vst' (compiling source file ..\..\JuceLibraryCode\include_juce_audio_processors.cpp)
1>c:\users\theda\documents\cabbage\jucelibrarycode\modules\juce_audio_processors\format_types\juce_VST3Common.h(182): error C2065: 'kSpeakerACN2': undeclared identifier (compiling source file ..\..\JuceLibraryCode\include_juce_audio_processors.cpp)
1>c:\users\theda\documents\cabbage\jucelibrarycode\modules\juce_audio_processors\format_types\juce_VST3Common.h(183): error C2039: 'kSpeakerACN3': is not a member of 'Steinberg::Vst' (compiling source file ..\..\JuceLibraryCode\include_juce_audio_processors.cpp)
1>C:\SDKs\VSTSDK\VST3_SDK\public.sdk/source/vst/hosting/hostclasses.cpp(42): note: see declaration of 'Steinberg::Vst' (compiling source file ..\..\JuceLibraryCode\include_juce_audio_processors.cpp)
My configuration is:
ASIO SDK 2.3.3
VST SDK 3.6.7 (and also tried with 3.6.8)
JUCE 5.4.4
CSound 6.13.0
The reason that I’m building from source is that I want to integrate a set of custom widgets which work with image atlases instead of separate frames and svgs.
Sorry for the long extent, and thanks for your time