Skip to content

Instantly share code, notes, and snippets.

@Birch-san
Created February 13, 2022 18:12
Show Gist options
  • Save Birch-san/7f4f2679da9f4b32e060f4b0ac2574c1 to your computer and use it in GitHub Desktop.
Save Birch-san/7f4f2679da9f4b32e060f4b0ac2574c1 to your computer and use it in GitHub Desktop.
Error compiling JUCE with llvm-mingw 20220209 aka LLVM 14.0.0 RC1
Used:
-DWIN32_LEAN_AND_MEAN (for minimal build)
-D__UIAutomationClient_LIBRARY_DEFINED__ (because juce_win32_ComInterfaces.h has variable names which clash with macro names in mingw's uiautomationclient.h)
And patched mingw header like so:
# rename parameter `new` to `new_`,
# for compatibility with LLVM 14.0.0RC1's Clang
# In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:70:
# In file included from /opt/llvm-mingw/i686-w64-mingw32/include/UIAutomation.h:21:
# /opt/llvm-mingw/i686-w64-mingw32/include/uiautomationcoreapi.h:69:128: error: invalid parameter name: 'new' is a keyword
# HRESULT WINAPI UiaRaiseAutomationPropertyChangedEvent(IRawElementProviderSimple *provider, PROPERTYID id, VARIANT old, VARIANT new);
sed -i -E '/WINAPI UiaRaiseAutomationPropertyChangedEvent/ s/(VARIANT new)/\1_/g' /opt/llvm-mingw/generic-w64-mingw32/include/uiautomationcoreapi.h
Despite these countermeasures: got a problem with UUIDGetter template specialization and namespaces:
#64 58.10 /opt/llvm-mingw/bin/i686-w64-mingw32-clang++ -DDONT_SET_USING_JUCE_NAMESPACE=1 -DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1 -DJUCE_MODULE_AVAILABLE_juce_audio_basics=1 -DJUCE_MODULE_AVAILABLE_juce_audio_devices=1 -DJUCE_MODULE_AVAILABLE_juce_audio_formats=1 -DJUCE_MODULE_AVAILABLE_juce_audio_plugin_client=1 -DJUCE_MODULE_AVAILABLE_juce_audio_processors=1 -DJUCE_MODULE_AVAILABLE_juce_audio_utils=1 -DJUCE_MODULE_AVAILABLE_juce_core=1 -DJUCE_MODULE_AVAILABLE_juce_data_structures=1 -DJUCE_MODULE_AVAILABLE_juce_events=1 -DJUCE_MODULE_AVAILABLE_juce_graphics=1 -DJUCE_MODULE_AVAILABLE_juce_gui_basics=1 -DJUCE_MODULE_AVAILABLE_juce_gui_extra=1 -DJUCE_SHARED_CODE=1 -DJUCE_STANDALONE_APPLICATION=JucePlugin_Build_Standalone -DJUCE_USE_CURL=0 -DJUCE_VST3_CAN_REPLACE_VST2=1 -DJUCE_WEB_BROWSER=0 -DJucePlugin_AAXCategory=2048 -DJucePlugin_AAXDisableBypass=0 -DJucePlugin_AAXDisableMultiMono=0 -DJucePlugin_AAXIdentifier=com.Birchlabs.JuicySFPlugin -DJucePlugin_AAXManufacturerCode=JucePlugin_ManufacturerCode -DJucePlugin_AAXProductId=JucePlugin_PluginCode -DJucePlugin_AUExportPrefix=juicysfpluginAU -DJucePlugin_AUExportPrefixQuoted=\"juicysfpluginAU\" -DJucePlugin_AUMainType="'aumu'" -DJucePlugin_AUManufacturerCode=JucePlugin_ManufacturerCode -DJucePlugin_AUSubType=JucePlugin_PluginCode -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_Standalone=1 -DJucePlugin_Build_Unity=0 -DJucePlugin_Build_VST3=1 -DJucePlugin_Build_VST=1 -DJucePlugin_CFBundleIdentifier=com.Birchlabs.JuicySFPlugin -DJucePlugin_Desc="\"Audio plugin to play soundfonts\"" -DJucePlugin_EditorRequiresKeyboardFocus=1 -DJucePlugin_IsMidiEffect=0 -DJucePlugin_IsSynth=1 -DJucePlugin_Manufacturer=\"Birchlabs\" -DJucePlugin_ManufacturerCode=0x426c6273 -DJucePlugin_ManufacturerEmail=\"\" -DJucePlugin_ManufacturerWebsite=\"https://birchlabs.co.uk\" -DJucePlugin_Name=\"juicysfplugin\" -DJucePlugin_PluginCode=0x4a736670 -DJucePlugin_ProducesMidiOutput=0 -DJucePlugin_VSTCategory=kPlugCategSynth -DJucePlugin_VSTNumMidiInputs=16 -DJucePlugin_VSTNumMidiOutputs=16 -DJucePlugin_VSTUniqueID=JucePlugin_PluginCode -DJucePlugin_Version=3.0.0 -DJucePlugin_VersionCode=0x30000 -DJucePlugin_VersionString=\"3.0.0\" -DJucePlugin_Vst3Category="\"Instrument|Synth\"" -DJucePlugin_WantsMidiInput=1 -DNDEBUG=1 -D_NDEBUG=1 @CMakeFiles/JuicySFPlugin.dir/includes_CXX.rsp -DWIN32_LEAN_AND_MEAN -D__UIAutomationClient_LIBRARY_DEFINED__ -O3 -DNDEBUG -fvisibility=hidden -fvisibility-inlines-hidden -Wa,-mbig-obj -pthread -mms-bitfields -O3 -Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wsign-conversion -Wbool-conversion -Wextra-semi -Wunreachable-code -Wcast-align -Wshift-sign-overflow -Wno-missing-field-initializers -Wnullable-to-nonnull-conversion -Wno-ignored-qualifiers -Wswitch-enum -Wpedantic -Wzero-as-null-pointer-constant -Wunused-private-field -Woverloaded-virtual -Wreorder -Winconsistent-missing-destructor-override -std=gnu++17 -MD -MT CMakeFiles/JuicySFPlugin.dir/linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp.obj -MF CMakeFiles/JuicySFPlugin.dir/linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp.obj.d -o CMakeFiles/JuicySFPlugin.dir/linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp.obj -c /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp
#64 60.52 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:309:
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_ComInterfaces.h:179:1: error: class template specialization of 'UUIDGetter' not in a namespace enclosing 'juce'
#64 60.52 JUCE_COMCLASS (IRawElementProviderFragmentRoot, "620ce2a5-ab8f-40a9-86cb-de3c75599b58") : public IUnknown
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:45:5: note: expanded from macro 'JUCE_COMCLASS'
#64 60.52 JUCE_DECLARE_UUID_GETTER (name, guid) \
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:41:24: note: expanded from macro 'JUCE_DECLARE_UUID_GETTER'
#64 60.52 template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:34: note: explicitly specialized declaration is here
#64 60.52 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.52 ^
#64 60.52 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:309:
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_ComInterfaces.h:186:1: error: class template specialization of 'UUIDGetter' not in a namespace enclosing 'juce'
#64 60.52 JUCE_COMCLASS (IRawElementProviderFragment, "f7063da8-8359-439c-9297-bbc5299a7d87") : public IUnknown
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:45:5: note: expanded from macro 'JUCE_COMCLASS'
#64 60.52 JUCE_DECLARE_UUID_GETTER (name, guid) \
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:41:24: note: expanded from macro 'JUCE_DECLARE_UUID_GETTER'
#64 60.52 template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:34: note: explicitly specialized declaration is here
#64 60.52 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.52 ^
#64 60.52 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:309:
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_ComInterfaces.h:197:1: error: class template specialization of 'UUIDGetter' not in a namespace enclosing 'juce'
#64 60.52 JUCE_COMCLASS (IExpandCollapseProvider, "d847d3a5-cab0-4a98-8c32-ecb45c59ad24") : public IUnknown
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:45:5: note: expanded from macro 'JUCE_COMCLASS'
#64 60.52 JUCE_DECLARE_UUID_GETTER (name, guid) \
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:41:24: note: expanded from macro 'JUCE_DECLARE_UUID_GETTER'
#64 60.52 template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:34: note: explicitly specialized declaration is here
#64 60.52 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.52 ^
#64 60.52 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:309:
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_ComInterfaces.h:205:1: error: class template specialization of 'UUIDGetter' not in a namespace enclosing 'juce'
#64 60.52 JUCE_COMCLASS (IGridItemProvider, "d02541f1-fb81-4d64-ae32-f520f8a6dbd1") : public IUnknown
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:45:5: note: expanded from macro 'JUCE_COMCLASS'
#64 60.52 JUCE_DECLARE_UUID_GETTER (name, guid) \
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:41:24: note: expanded from macro 'JUCE_DECLARE_UUID_GETTER'
#64 60.52 template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:34: note: explicitly specialized declaration is here
#64 60.52 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.52 ^
#64 60.52 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:309:
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_ComInterfaces.h:215:1: error: class template specialization of 'UUIDGetter' not in a namespace enclosing 'juce'
#64 60.52 JUCE_COMCLASS (IGridProvider, "b17d6187-0907-464b-a168-0ef17a1572b1") : public IUnknown
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:45:5: note: expanded from macro 'JUCE_COMCLASS'
#64 60.52 JUCE_DECLARE_UUID_GETTER (name, guid) \
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:41:24: note: expanded from macro 'JUCE_DECLARE_UUID_GETTER'
#64 60.52 template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:34: note: explicitly specialized declaration is here
#64 60.52 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.52 ^
#64 60.52 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:309:
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_ComInterfaces.h:223:1: error: class template specialization of 'UUIDGetter' not in a namespace enclosing 'juce'
#64 60.52 JUCE_COMCLASS (IInvokeProvider, "54fcb24b-e18e-47a2-b4d3-eccbe77599a2") : public IUnknown
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:45:5: note: expanded from macro 'JUCE_COMCLASS'
#64 60.52 JUCE_DECLARE_UUID_GETTER (name, guid) \
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:41:24: note: expanded from macro 'JUCE_DECLARE_UUID_GETTER'
#64 60.52 template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:34: note: explicitly specialized declaration is here
#64 60.52 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.52 ^
#64 60.52 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:309:
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_ComInterfaces.h:229:1: error: class template specialization of 'UUIDGetter' not in a namespace enclosing 'juce'
#64 60.52 JUCE_COMCLASS (IRangeValueProvider, "36dc7aef-33e6-4691-afe1-2be7274b3d33") : public IUnknown
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:45:5: note: expanded from macro 'JUCE_COMCLASS'
#64 60.52 JUCE_DECLARE_UUID_GETTER (name, guid) \
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:41:24: note: expanded from macro 'JUCE_DECLARE_UUID_GETTER'
#64 60.52 template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:34: note: explicitly specialized declaration is here
#64 60.52 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.52 ^
#64 60.52 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:309:
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_ComInterfaces.h:241:1: error: class template specialization of 'UUIDGetter' not in a namespace enclosing 'juce'
#64 60.52 JUCE_COMCLASS (ISelectionProvider, "fb8b03af-3bdf-48d4-bd36-1a65793be168") : public IUnknown
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:45:5: note: expanded from macro 'JUCE_COMCLASS'
#64 60.52 JUCE_DECLARE_UUID_GETTER (name, guid) \
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:41:24: note: expanded from macro 'JUCE_DECLARE_UUID_GETTER'
#64 60.52 template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:34: note: explicitly specialized declaration is here
#64 60.52 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.52 ^
#64 60.52 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:309:
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_ComInterfaces.h:249:1: error: class template specialization of 'UUIDGetter' not in a namespace enclosing 'juce'
#64 60.52 JUCE_COMCLASS (ISelectionProvider2, "14f68475-ee1c-44f6-a869-d239381f0fe7") : public ISelectionProvider
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:45:5: note: expanded from macro 'JUCE_COMCLASS'
#64 60.52 JUCE_DECLARE_UUID_GETTER (name, guid) \
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:41:24: note: expanded from macro 'JUCE_DECLARE_UUID_GETTER'
#64 60.52 template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:34: note: explicitly specialized declaration is here
#64 60.52 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.52 ^
#64 60.52 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:309:
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_ComInterfaces.h:257:1: error: class template specialization of 'UUIDGetter' not in a namespace enclosing 'juce'
#64 60.52 JUCE_COMCLASS (ISelectionItemProvider, "2acad808-b2d4-452d-a407-91ff1ad167b2") : public IUnknown
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:45:5: note: expanded from macro 'JUCE_COMCLASS'
#64 60.52 JUCE_DECLARE_UUID_GETTER (name, guid) \
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:41:24: note: expanded from macro 'JUCE_DECLARE_UUID_GETTER'
#64 60.52 template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:34: note: explicitly specialized declaration is here
#64 60.52 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.52 ^
#64 60.52 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:309:
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_ComInterfaces.h:267:1: error: class template specialization of 'UUIDGetter' not in a namespace enclosing 'juce'
#64 60.52 JUCE_COMCLASS (ITextRangeProvider, "5347ad7b-c355-46f8-aff5-909033582f63") : public IUnknown
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:45:5: note: expanded from macro 'JUCE_COMCLASS'
#64 60.52 JUCE_DECLARE_UUID_GETTER (name, guid) \
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:41:24: note: expanded from macro 'JUCE_DECLARE_UUID_GETTER'
#64 60.52 template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
#64 60.52 ^
#64 60.52 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:34: note: explicitly specialized declaration is here
#64 60.52 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.52 ^
#64 60.53 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:309:
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_ComInterfaces.h:290:1: error: class template specialization of 'UUIDGetter' not in a namespace enclosing 'juce'
#64 60.53 JUCE_COMCLASS (ITextProvider, "3589c92c-63f3-4367-99bb-ada653b77cf2") : public IUnknown
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:45:5: note: expanded from macro 'JUCE_COMCLASS'
#64 60.53 JUCE_DECLARE_UUID_GETTER (name, guid) \
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:41:24: note: expanded from macro 'JUCE_DECLARE_UUID_GETTER'
#64 60.53 template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:34: note: explicitly specialized declaration is here
#64 60.53 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.53 ^
#64 60.53 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:309:
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_ComInterfaces.h:301:1: error: class template specialization of 'UUIDGetter' not in a namespace enclosing 'juce'
#64 60.53 JUCE_COMCLASS (ITextProvider2, "0dc5e6ed-3e16-4bf1-8f9a-a979878bc195") : public ITextProvider
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:45:5: note: expanded from macro 'JUCE_COMCLASS'
#64 60.53 JUCE_DECLARE_UUID_GETTER (name, guid) \
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:41:24: note: expanded from macro 'JUCE_DECLARE_UUID_GETTER'
#64 60.53 template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:34: note: explicitly specialized declaration is here
#64 60.53 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.53 ^
#64 60.53 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:309:
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_ComInterfaces.h:308:1: error: class template specialization of 'UUIDGetter' not in a namespace enclosing 'juce'
#64 60.53 JUCE_COMCLASS (IToggleProvider, "56d00bd0-c4f4-433c-a836-1a52a57e0892") : public IUnknown
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:45:5: note: expanded from macro 'JUCE_COMCLASS'
#64 60.53 JUCE_DECLARE_UUID_GETTER (name, guid) \
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:41:24: note: expanded from macro 'JUCE_DECLARE_UUID_GETTER'
#64 60.53 template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:34: note: explicitly specialized declaration is here
#64 60.53 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.53 ^
#64 60.53 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:309:
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_ComInterfaces.h:315:1: error: class template specialization of 'UUIDGetter' not in a namespace enclosing 'juce'
#64 60.53 JUCE_COMCLASS (ITransformProvider, "6829ddc4-4f91-4ffa-b86f-bd3e2987cb4c") : public IUnknown
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:45:5: note: expanded from macro 'JUCE_COMCLASS'
#64 60.53 JUCE_DECLARE_UUID_GETTER (name, guid) \
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:41:24: note: expanded from macro 'JUCE_DECLARE_UUID_GETTER'
#64 60.53 template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:34: note: explicitly specialized declaration is here
#64 60.53 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.53 ^
#64 60.53 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:309:
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_ComInterfaces.h:326:1: error: class template specialization of 'UUIDGetter' not in a namespace enclosing 'juce'
#64 60.53 JUCE_COMCLASS (IValueProvider, "c7935180-6fb3-4201-b174-7df73adbf64a") : public IUnknown
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:45:5: note: expanded from macro 'JUCE_COMCLASS'
#64 60.53 JUCE_DECLARE_UUID_GETTER (name, guid) \
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:41:24: note: expanded from macro 'JUCE_DECLARE_UUID_GETTER'
#64 60.53 template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:34: note: explicitly specialized declaration is here
#64 60.53 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.53 ^
#64 60.53 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:309:
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_ComInterfaces.h:334:1: error: class template specialization of 'UUIDGetter' not in a namespace enclosing 'juce'
#64 60.53 JUCE_COMCLASS (IWindowProvider, "987df77b-db06-4d77-8f8a-86a9c3bb90b9") : public IUnknown
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:45:5: note: expanded from macro 'JUCE_COMCLASS'
#64 60.53 JUCE_DECLARE_UUID_GETTER (name, guid) \
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:41:24: note: expanded from macro 'JUCE_DECLARE_UUID_GETTER'
#64 60.53 template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:34: note: explicitly specialized declaration is here
#64 60.53 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.53 ^
#64 60.53 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:312:
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_UIAHelpers.h:78:65: error: template argument for template type parameter must be a type
#64 60.53 handler->getNativeImplementation()->QueryInterface (IID_PPV_ARGS (provider.resetAndGetPointerAddress()));
#64 60.53 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#64 60.53 /opt/llvm-mingw/i686-w64-mingw32/include/combaseapi.h:84:40: note: expanded from macro 'IID_PPV_ARGS'
#64 60.53 #define IID_PPV_ARGS(ppType) __uuidof (**(ppType)), IID_PPV_ARGS_Helper (ppType)
#64 60.53 ~~~~~~~~~~^~~~~~~~~~~
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:32:34: note: expanded from macro '__uuidof'
#64 60.53 #define __uuidof(x) UUIDGetter<x>::get()
#64 60.53 ^
#64 60.53 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:21: note: template parameter is declared here
#64 60.53 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.53 ^
#64 60.54 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp:313:
#64 60.54 In file included from /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_UIAProviders.h:34:
#64 60.54 /linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/native/accessibility/juce_win32_UIAGridItemProvider.h:76:69: error: template argument for template type parameter must be a type
#64 60.54 handler->getNativeImplementation()->QueryInterface (IID_PPV_ARGS (pRetVal));
#64 60.54 ^~~~~~~~~~~~~~~~~~~~~~
#64 60.54 /opt/llvm-mingw/i686-w64-mingw32/include/combaseapi.h:84:40: note: expanded from macro 'IID_PPV_ARGS'
#64 60.54 #define IID_PPV_ARGS(ppType) __uuidof (**(ppType)), IID_PPV_ARGS_Helper (ppType)
#64 60.54 ~~~~~~~~~~^~~~~~~~~~~
#64 60.54 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:32:34: note: expanded from macro '__uuidof'
#64 60.54 #define __uuidof(x) UUIDGetter<x>::get()
#64 60.54 ^
#64 60.54 /linux_native/include/JUCE-6.1.5/modules/juce_core/native/juce_win32_ComSmartPtr.h:31:21: note: template parameter is declared here
#64 60.54 template <typename Type> struct UUIDGetter { static CLSID get() { jassertfalse; return {}; } };
#64 60.54 ^
#64 60.54 fatal error: too many errors emitted, stopping now [-ferror-limit=]
#64 60.62 20 errors generated.
#64 60.65 gmake[2]: *** [CMakeFiles/JuicySFPlugin.dir/build.make:350: CMakeFiles/JuicySFPlugin.dir/linux_native/include/JUCE-6.1.5/modules/juce_gui_basics/juce_gui_basics.cpp.obj] Error 1
#64 60.65 gmake[2]: Leaving directory '/juicysfplugin/build_x86'
#64 60.65 gmake[1]: *** [CMakeFiles/Makefile2:110: CMakeFiles/JuicySFPlugin.dir/all] Error 2
#64 60.65 gmake: *** [Makefile:94: all] Error 2
#64 60.65 gmake[1]: Leaving directory '/juicysfplugin/build_x86'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment