JUCE 8 Build Errors
-
I'm getting a bunch of errors when building HISE using the juce8 branch. Before I get claude to take a look is there anything that I should be doing before building HISE to make it work?
../../../../../hise/hi_backend/../hi_core/../JUCE/modules/juce_core/maths/juce_MathsFunctions.h:175:25: note: declared here 175 | const constexpr float float_Pi = MathConstants<float>::pi; | ^~~~~~~~ In file included from ../../../../../hise/hi_backend/hi_backend.cpp:72: ../../../../../hise/hi_backend/backend/ai_tools/InteractionParser.h: At global scope: ../../../../../hise/hi_backend/backend/ai_tools/InteractionParser.h:455:30: error: ‘VisibleMenuItem’ is not a member of ‘juce::PopupMenu’ 455 | virtual Array<PopupMenu::VisibleMenuItem> getVisibleMenuItems() const = 0; | ^~~~~~~~~~~~~~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionParser.h:455:45: error: template argument 1 is invalid 455 | virtual Array<PopupMenu::VisibleMenuItem> getVisibleMenuItems() const = 0; | ^ In file included from ../../../../../hise/hi_backend/hi_backend.cpp:73: ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.h:192:22: error: ‘VisibleMenuItem’ is not a member of ‘juce::PopupMenu’ 192 | Array<PopupMenu::VisibleMenuItem> mockMenuItems; | ^~~~~~~~~~~~~~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.h:192:37: error: template argument 1 is invalid 192 | Array<PopupMenu::VisibleMenuItem> mockMenuItems; | ^ ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.h:237:22: error: ‘VisibleMenuItem’ is not a member of ‘juce::PopupMenu’ 237 | Array<PopupMenu::VisibleMenuItem> getVisibleMenuItems() const override { return mockMenuItems; } | ^~~~~~~~~~~~~~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.h:237:37: error: template argument 1 is invalid 237 | Array<PopupMenu::VisibleMenuItem> getVisibleMenuItems() const override { return mockMenuItems; } | ^ In file included from ../../../../../hise/hi_backend/hi_backend.cpp:75: ../../../../../hise/hi_backend/backend/ai_tools/InteractionTestWindow.h:437:26: error: ‘VisibleMenuItem’ is not a member of ‘juce::PopupMenu’ 437 | Array<PopupMenu::VisibleMenuItem> getVisibleMenuItems() const override; | ^~~~~~~~~~~~~~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionTestWindow.h:437:41: error: template argument 1 is invalid 437 | Array<PopupMenu::VisibleMenuItem> getVisibleMenuItems() const override; | ^ In file included from ../../../../../hise/hi_backend/hi_backend.cpp:78: ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.cpp: In member function ‘void hise::InteractionDispatcher::executeSelectMenuItem(const hise::InteractionParser::MouseInteraction&, hise::InteractionExecutorBase&, juce::Array<juce::var>&)’: ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.cpp:498:19: error: request for member ‘isEmpty’ in ‘menuItems’, which is of non-class type ‘int’ 498 | if (menuItems.isEmpty()) | ^~~~~~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.cpp:506:29: error: ‘begin’ was not declared in this scope 506 | for (const auto& item : menuItems) | ^~~~~~~~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.cpp:506:29: note: suggested alternatives: In file included from /usr/include/c++/15/array:46, from ../../../../../hise/hi_backend/../hi_core/../JUCE/modules/juce_core/system/juce_StandardHeader.h:63, from ../../../../../hise/hi_backend/../hi_core/../JUCE/modules/juce_core/juce_core.h:222: /usr/include/c++/15/bits/range_access.h:120:37: note: ‘std::begin’ 120 | template<typename _Tp> const _Tp* begin(const valarray<_Tp>&) noexcept; | ^~~~~ In file included from ../../../../../hise/hi_backend/../hi_core/../JUCE/modules/juce_core/juce_core.h:340: ../../../../../hise/hi_backend/../hi_core/../JUCE/modules/juce_core/files/juce_RangedDirectoryIterator.h:190:32: note: ‘juce::begin’ 190 | inline RangedDirectoryIterator begin (const RangedDirectoryIterator& it) { return it; } | ^~~~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.cpp:506:29: error: ‘end’ was not declared in this scope 506 | for (const auto& item : menuItems) | ^~~~~~~~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.cpp:506:29: note: suggested alternatives: /usr/include/c++/15/bits/range_access.h:122:37: note: ‘std::end’ 122 | template<typename _Tp> const _Tp* end(const valarray<_Tp>&) noexcept; | ^~~ ../../../../../hise/hi_backend/../hi_core/../JUCE/modules/juce_core/files/juce_RangedDirectoryIterator.h:195:32: note: ‘juce::end’ 195 | inline RangedDirectoryIterator end (const RangedDirectoryIterator&) { return {}; } | ^~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.cpp:534:35: error: request for member ‘getReference’ in ‘menuItems’, which is of non-class type ‘int’ 534 | auto& matchedItem = menuItems.getReference(matchedIndex); | ^~~~~~~~~~~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.cpp: In member function ‘void hise::TestExecutor::reset()’: ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.cpp:586:19: error: request for member ‘clear’ in ‘((hise::TestExecutor*)this)->hise::TestExecutor::mockMenuItems’, which is of non-class type ‘int’ 586 | mockMenuItems.clear(); | ^~~~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.cpp: In member function ‘void hise::TestExecutor::addMockMenuItem(const juce::String&, int, juce::Rectangle<int>)’: ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.cpp:602:16: error: ‘VisibleMenuItem’ is not a member of ‘juce::PopupMenu’ 602 | PopupMenu::VisibleMenuItem item; | ^~~~~~~~~~~~~~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.cpp:603:5: error: ‘item’ was not declared in this scope; did you mean ‘tm’? 603 | item.text = text; | ^~~~ | tm ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.cpp:606:19: error: request for member ‘add’ in ‘((hise::TestExecutor*)this)->hise::TestExecutor::mockMenuItems’, which is of non-class type ‘int’ 606 | mockMenuItems.add(item); | ^~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.cpp: In member function ‘void hise::TestExecutor::clearMockMenuItems()’: ../../../../../hise/hi_backend/backend/ai_tools/InteractionDispatcher.cpp:611:19: error: request for member ‘clear’ in ‘((hise::TestExecutor*)this)->hise::TestExecutor::mockMenuItems’, which is of non-class type ‘int’ 611 | mockMenuItems.clear(); | ^~~~~ In file included from ../../../../../hise/hi_backend/hi_backend.cpp:80: ../../../../../hise/hi_backend/backend/ai_tools/InteractionTestWindow.cpp: In member function ‘hise::InteractionTestWindow::RecordingListener::PopupMenuSelectionInfo hise::InteractionTestWindow::RecordingListener::detectPopupMenuSelection(const juce::MouseEvent&)’: ../../../../../hise/hi_backend/backend/ai_tools/InteractionTestWindow.cpp:281:33: error: ‘getVisibleMenuItems’ is not a member of ‘juce::PopupMenu’ 281 | auto menuItems = PopupMenu::getVisibleMenuItems(e.eventComponent); | ^~~~~~~~~~~~~~~~~~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionTestWindow.cpp: In member function ‘void hise::InteractionTestWindow::RealExecutor::beginSyntheticInputMode()’: ../../../../../hise/hi_backend/backend/ai_tools/InteractionTestWindow.cpp:1324:16: error: ‘setSyntheticInputMode’ is not a member of ‘juce::PopupMenu’ 1324 | PopupMenu::setSyntheticInputMode(true); | ^~~~~~~~~~~~~~~~~~~~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionTestWindow.cpp:1330:21: error: ‘class juce::MouseInputSource’ has no member named ‘setSyntheticPositionMode’ 1330 | source->setSyntheticPositionMode(true); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionTestWindow.cpp:1333:20: error: ‘std::function<juce::ModifierKeys()> juce::ComponentPeer::getNativeRealtimeModifiers’ is protected within this context 1333 | ComponentPeer::getNativeRealtimeModifiers = &RealExecutor::getSyntheticModifiersCallback; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../../../../hise/hi_backend/../hi_core/../JUCE/modules/juce_gui_basics/juce_gui_basics.h:304: ../../../../../hise/hi_backend/../hi_core/../JUCE/modules/juce_gui_basics/windows/juce_ComponentPeer.h:590:42: note: declared protected here 590 | static std::function<ModifierKeys()> getNativeRealtimeModifiers; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionTestWindow.cpp: In member function ‘void hise::InteractionTestWindow::RealExecutor::endSyntheticInputMode()’: ../../../../../hise/hi_backend/backend/ai_tools/InteractionTestWindow.cpp:1338:16: error: ‘setSyntheticInputMode’ is not a member of ‘juce::PopupMenu’ 1338 | PopupMenu::setSyntheticInputMode(false); | ^~~~~~~~~~~~~~~~~~~~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionTestWindow.cpp:1344:21: error: ‘class juce::MouseInputSource’ has no member named ‘setSyntheticPositionMode’ 1344 | source->setSyntheticPositionMode(false); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../../../../../hise/hi_backend/backend/ai_tools/InteractionTestWindow.cpp:1347:20: error: ‘std::function<juce::ModifierKeys()> juce::ComponentPeer::getNativeRealtimeModifiers’ is protected within this context 1347 | ComponentPeer::getNativeRealtimeModifiers = nullptr; -
@David-Healey ah yes I‘ve hacked around in the juce code to allow artificial mouse clicks to give the robot the ability to use the plugin interface but I haven‘t ported this to JUCE8 yet.
-
This post is deleted!