Ah there definitely is a ui/Menu.hpp.
Here is the full error
-- Build files have been written to: /Users/ericgao/Documents/Projects/ports/FrozenWasteland/build
[1/7] Building CXX object CMakeFiles/FrozenWasteland.dir/FrozenWasteland/src/BPMLFO.cpp.obj
FAILED: CMakeFiles/FrozenWasteland.dir/FrozenWasteland/src/BPMLFO.cpp.obj
/Applications/ArmGNUToolchain/12.3.rel1/arm-none-eabi/bin/arm-none-eabi-g++ -DMETAMODULE -D__PLUGIN -D__V1x -I/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland -I/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src -I/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/dsp -I/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-core-interface/. -I/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-core-interface/./filesystem -I/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-plugin-libc/include -I/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/cpputil/. -isystem /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include -isystem /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/dep/include -O2 -g -DNDEBUG -std=c++23 -fdata-sections -ffunction-sections -fno-exceptions -fno-threadsafe-statics -fno-use-cxa-atexit -fvisibility=hidden -fvisibility-inlines-hidden -fno-math-errno -mcpu=cortex-a7 -mlittle-endian -mfpu=neon-vfpv4 -mfloat-abi=hard -mthumb-interwork -mno-unaligned-access -mtune=cortex-a7 -mvectorize-with-neon-quad --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=256 -O3 -g3 -fno-common -nostdlib -nostartfiles -fno-unwind-tables -Wall -Werror=return-type -Wno-psabi -Wno-double-promotion -Wno-attributes -shared -fPIC -Wno-register -Wno-volatile -ffold-simple-inlines -MD -MT CMakeFiles/FrozenWasteland.dir/FrozenWasteland/src/BPMLFO.cpp.obj -MF CMakeFiles/FrozenWasteland.dir/FrozenWasteland/src/BPMLFO.cpp.obj.d -o CMakeFiles/FrozenWasteland.dir/FrozenWasteland/src/BPMLFO.cpp.obj -c /Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/BPMLFO.cpp
In file included from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/app/ParamWidget.hpp:5,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/app/Knob.hpp:3,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/app/SvgKnob.hpp:3,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/componentlibrary.hpp:4,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/rack.hpp:24,
from /Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/FrozenWasteland.hpp:1,
from /Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/BPMLFO.cpp:2:
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:15:35: error: invalid use of incomplete type 'struct rack::ui::MenuItem'
15 | struct OptionMenuItem : rack::ui::MenuItem {
| ^~~~~~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:11:8: note: forward declaration of 'struct rack::ui::MenuItem'
11 | struct MenuItem;
| ^~~~~~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp: In constructor 'OptionMenuItem::OptionMenuItem(const char*, std::function<bool()>, std::function<void()>)':
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:23:23: error: 'struct OptionMenuItem' has no member named 'text'
23 | this->text = label;
| ^~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp: In member function 'void OptionMenuItem::step()':
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:31:37: error: incomplete type 'rack::ui::MenuItem' used in nested name specifier
31 | rack::ui::MenuItem::step();
| ^~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:32:17: error: 'rightText' was not declared in this scope
32 | rightText = _check() ? "✔" : "";
| ^~~~~~~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp: At global scope:
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:42:36: error: invalid use of incomplete type 'struct rack::ui::MenuItem'
42 | struct OptionsMenuItem : rack::ui::MenuItem {
| ^~~~~~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:11:8: note: forward declaration of 'struct rack::ui::MenuItem'
11 | struct MenuItem;
| ^~~~~~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:54:25: error: 'rack::ui::Menu* OptionsMenuItem::createChildMenu()' marked 'override', but does not override
54 | rack::ui::Menu* createChildMenu() override {
| ^~~~~~~~~~~~~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp: In constructor 'OptionsMenuItem::OptionsMenuItem(const char*)':
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:46:23: error: 'struct OptionsMenuItem' has no member named 'text'
46 | this->text = label;
| ^~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:47:23: error: 'struct OptionsMenuItem' has no member named 'rightText'
47 | this->rightText = "▸";
| ^~~~~~~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp: In member function 'rack::ui::Menu* OptionsMenuItem::createChildMenu()':
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:55:54: error: invalid use of incomplete type 'struct rack::ui::Menu'
55 | rack::ui::Menu* menu = new rack::ui::Menu;
| ^~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:10:8: note: forward declaration of 'struct rack::ui::Menu'
10 | struct Menu;
| ^~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:57:29: error: invalid use of incomplete type 'struct rack::ui::Menu'
57 | menu->addChild(new OptionMenuItem(item));
| ^~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:10:8: note: forward declaration of 'struct rack::ui::Menu'
10 | struct Menu;
| ^~~~
In file included from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/rack.hpp:26:
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp: In member function 'rack::ui::Menu* rack::createSubmenuItem(std::string, std::string, std::function<void(ui::Menu*)>, bool)::Item::createChildMenu()':
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp:328:46: error: invalid use of incomplete type 'struct rack::ui::Menu'
328 | auto *menu = new ui::Menu;
| ^~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:10:8: note: forward declaration of 'struct rack::ui::Menu'
10 | struct Menu;
| ^~~~
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp: In member function 'rack::ui::Menu* rack::createSubmenuItem(std::string, std::function<std::__cxx11::basic_string<char>()>, std::function<void(ui::Menu*)>, bool)::Item::createChildMenu()':
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp:374:46: error: invalid use of incomplete type 'struct rack::ui::Menu'
374 | auto *menu = new ui::Menu;
| ^~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:10:8: note: forward declaration of 'struct rack::ui::Menu'
10 | struct Menu;
| ^~~~
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp: In member function 'rack::ui::Menu* rack::createIndexSubmenuItem(std::string, std::vector<std::__cxx11::basic_string<char> >, std::function<unsigned int()>, std::function<void(unsigned int)>, bool, bool)::Item::createChildMenu()':
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp:444:46: error: invalid use of incomplete type 'struct rack::ui::Menu'
444 | auto *menu = new ui::Menu;
| ^~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:10:8: note: forward declaration of 'struct rack::ui::Menu'
10 | struct Menu;
| ^~~~
ninja: build stopped: subcommand failed.
(base) ericgao@Erics-MBP-2 FrozenWasteland % cmake -B build -G Ninja -DTOOLCHAIN_BASE_DIR=/Applications/ArmGNUToolchain/12.3.rel1/arm-none-eabi/bin; cmake --build build
-- Configuring done (0.1s)
-- Generating done (0.1s)
-- Build files have been written to: /Users/ericgao/Documents/Projects/ports/FrozenWasteland/build
[1/7] Building CXX object CMakeFiles/FrozenWasteland.dir/FrozenWasteland/src/BPMLFO.cpp.obj
FAILED: CMakeFiles/FrozenWasteland.dir/FrozenWasteland/src/BPMLFO.cpp.obj
/Applications/ArmGNUToolchain/12.3.rel1/arm-none-eabi/bin/arm-none-eabi-g++ -DMETAMODULE -D__PLUGIN -D__V1x -I/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland -I/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src -I/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/dsp -I/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-core-interface/. -I/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-core-interface/./filesystem -I/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-plugin-libc/include -I/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/cpputil/. -isystem /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include -isystem /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/dep/include -O2 -g -DNDEBUG -std=c++23 -fdata-sections -ffunction-sections -fno-exceptions -fno-threadsafe-statics -fno-use-cxa-atexit -fvisibility=hidden -fvisibility-inlines-hidden -fno-math-errno -mcpu=cortex-a7 -mlittle-endian -mfpu=neon-vfpv4 -mfloat-abi=hard -mthumb-interwork -mno-unaligned-access -mtune=cortex-a7 -mvectorize-with-neon-quad --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=256 -O3 -g3 -fno-common -nostdlib -nostartfiles -fno-unwind-tables -Wall -Werror=return-type -Wno-psabi -Wno-double-promotion -Wno-attributes -shared -fPIC -Wno-register -Wno-volatile -ffold-simple-inlines -MD -MT CMakeFiles/FrozenWasteland.dir/FrozenWasteland/src/BPMLFO.cpp.obj -MF CMakeFiles/FrozenWasteland.dir/FrozenWasteland/src/BPMLFO.cpp.obj.d -o CMakeFiles/FrozenWasteland.dir/FrozenWasteland/src/BPMLFO.cpp.obj -c /Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/BPMLFO.cpp
In file included from /Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:9,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/app/ParamWidget.hpp:5,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/app/Knob.hpp:3,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/app/SvgKnob.hpp:3,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/componentlibrary.hpp:4,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/rack.hpp:24,
from /Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/FrozenWasteland.hpp:1,
from /Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/BPMLFO.cpp:2:
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/ui/MenuItem.hpp:23:17: error: 'Menu' does not name a type
23 | virtual Menu* createChildMenu() {
| ^~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp: In member function 'rack::ui::MenuItem* OptionMenuItem::createMenuItem()':
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:41:51: error: 'event' in namespace 'rack' does not name a type
41 | void onAction(const rack::event::Action& e) override {
| ^~~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:41:64: error: expected unqualified-id before '&' token
41 | void onAction(const rack::event::Action& e) override {
| ^
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:41:64: error: expected ')' before '&' token
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:41:38: note: to match this '('
41 | void onAction(const rack::event::Action& e) override {
| ^
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:41:64: error: expected ';' at end of member declaration
41 | void onAction(const rack::event::Action& e) override {
| ^
| ;
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:41:66: error: 'e' does not name a type
41 | void onAction(const rack::event::Action& e) override {
| ^
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp: At global scope:
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:100:54: error: 'rack::ui::Menu' has not been declared
100 | static void addToMenu(OptionsMenuItem* item, rack::ui::Menu* menu) {
| ^~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp: In member function 'rack::ui::MenuItem* OptionsMenuItem::createMenuItem()':
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:84:35: error: 'Menu' in namespace 'rack::ui' does not name a type
84 | rack::ui::Menu* createChildMenu() override {
| ^~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp: In static member function 'static void OptionsMenuItem::addToMenu(OptionsMenuItem*, int*)':
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:101:23: error: request for member 'addChild' in '* menu', which is of non-class type 'int'
101 | menu->addChild(item->createMenuItem());
| ^~~~~~~~
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/app/ParamWidget.hpp: At global scope:
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/app/ParamWidget.hpp:45:40: error: 'rack::ui::Menu' has not been declared
45 | virtual void appendContextMenu(ui::Menu* menu) {}
| ^~
In file included from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/rack.hpp:26:
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp: In member function 'rack::ui::Menu* rack::createSubmenuItem(std::string, std::string, std::function<void(ui::Menu*)>, bool)::Item::createChildMenu()':
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp:328:46: error: invalid use of incomplete type 'struct rack::ui::Menu'
328 | auto *menu = new ui::Menu;
| ^~~~
In file included from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/engine/Module.hpp:14,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/app/PortWidget.hpp:5,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/app/SvgPort.hpp:3,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/componentlibrary.hpp:6:
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/plugin/Model.hpp:14:8: note: forward declaration of 'struct rack::ui::Menu'
14 | struct Menu;
| ^~~~
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp: In member function 'rack::ui::Menu* rack::createSubmenuItem(std::string, std::function<std::__cxx11::basic_string<char>()>, std::function<void(ui::Menu*)>, bool)::Item::createChildMenu()':
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp:374:46: error: invalid use of incomplete type 'struct rack::ui::Menu'
374 | auto *menu = new ui::Menu;
| ^~~~
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/plugin/Model.hpp:14:8: note: forward declaration of 'struct rack::ui::Menu'
14 | struct Menu;
| ^~~~
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp: In member function 'rack::ui::Menu* rack::createIndexSubmenuItem(std::string, std::vector<std::__cxx11::basic_string<char> >, std::function<unsigned int()>, std::function<void(unsigned int)>, bool, bool)::Item::createChildMenu()':
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp:444:46: error: invalid use of incomplete type 'struct rack::ui::Menu'
444 | auto *menu = new ui::Menu;
| ^~~~
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/plugin/Model.hpp:14:8: note: forward declaration of 'struct rack::ui::Menu'
14 | struct Menu;
| ^~~~
ninja: build stopped: subcommand failed.
(base) ericgao@Erics-MBP-2 FrozenWasteland % cmake -B build -G Ninja -DTOOLCHAIN_BASE_DIR=/Applications/ArmGNUToolchain/12.3.rel1/arm-none-eabi/bin; cmake --build build
-- Configuring done (0.1s)
-- Generating done (0.1s)
-- Build files have been written to: /Users/ericgao/Documents/Projects/ports/FrozenWasteland/build
[1/7] Building CXX object CMakeFiles/FrozenWasteland.dir/FrozenWasteland/src/BPMLFO.cpp.obj
FAILED: CMakeFiles/FrozenWasteland.dir/FrozenWasteland/src/BPMLFO.cpp.obj
/Applications/ArmGNUToolchain/12.3.rel1/arm-none-eabi/bin/arm-none-eabi-g++ -DMETAMODULE -D__PLUGIN -D__V1x -I/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland -I/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src -I/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/dsp -I/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-core-interface/. -I/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-core-interface/./filesystem -I/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-plugin-libc/include -I/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/cpputil/. -isystem /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include -isystem /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/dep/include -O2 -g -DNDEBUG -std=c++23 -fdata-sections -ffunction-sections -fno-exceptions -fno-threadsafe-statics -fno-use-cxa-atexit -fvisibility=hidden -fvisibility-inlines-hidden -fno-math-errno -mcpu=cortex-a7 -mlittle-endian -mfpu=neon-vfpv4 -mfloat-abi=hard -mthumb-interwork -mno-unaligned-access -mtune=cortex-a7 -mvectorize-with-neon-quad --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=256 -O3 -g3 -fno-common -nostdlib -nostartfiles -fno-unwind-tables -Wall -Werror=return-type -Wno-psabi -Wno-double-promotion -Wno-attributes -shared -fPIC -Wno-register -Wno-volatile -ffold-simple-inlines -MD -MT CMakeFiles/FrozenWasteland.dir/FrozenWasteland/src/BPMLFO.cpp.obj -MF CMakeFiles/FrozenWasteland.dir/FrozenWasteland/src/BPMLFO.cpp.obj.d -o CMakeFiles/FrozenWasteland.dir/FrozenWasteland/src/BPMLFO.cpp.obj -c /Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/BPMLFO.cpp
In file included from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/app/ParamWidget.hpp:5,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/app/Knob.hpp:3,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/app/SvgKnob.hpp:3,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/componentlibrary.hpp:4,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/rack.hpp:24,
from /Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/FrozenWasteland.hpp:1,
from /Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/BPMLFO.cpp:2:
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:7:34: error: expected class-name before '{' token
7 | struct OptionMenuItem : MenuItem {
| ^
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:18:14: error: 'void OptionMenuItem::onAction(const event::Action&)' marked 'override', but does not override
18 | void onAction(const event::Action& e) override {
| ^~~~~~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:22:14: error: 'void OptionMenuItem::step()' marked 'override', but does not override
22 | void step() override {
| ^~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp: In constructor 'OptionMenuItem::OptionMenuItem(const char*, std::function<bool()>, std::function<void()>)':
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:15:23: error: 'struct OptionMenuItem' has no member named 'text'
15 | this->text = label;
| ^~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp: In member function 'void OptionMenuItem::step()':
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:23:17: error: 'MenuItem' has not been declared
23 | MenuItem::step();
| ^~~~~~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:24:17: error: 'rightText' was not declared in this scope
24 | rightText = _check() ? "✔" : "";
| ^~~~~~~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp: At global scope:
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:34:35: error: expected class-name before '{' token
34 | struct OptionsMenuItem : MenuItem {
| ^
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:46:9: error: 'Menu' does not name a type
46 | Menu* createChildMenu() override {
| ^~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:54:54: error: 'Menu' has not been declared
54 | static void addToMenu(OptionsMenuItem* item, Menu* menu);
| ^~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp: In constructor 'OptionsMenuItem::OptionsMenuItem(const char*)':
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:38:23: error: 'struct OptionsMenuItem' has no member named 'text'
38 | this->text = label;
| ^~~~
/Users/ericgao/Documents/Projects/ports/FrozenWasteland/FrozenWasteland/src/ui/Menu.hpp:39:23: error: 'struct OptionsMenuItem' has no member named 'rightText'
39 | this->rightText = "▸";
| ^~~~~~~~~
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/app/ParamWidget.hpp: At global scope:
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/app/ParamWidget.hpp:45:40: error: 'rack::ui::Menu' has not been declared
45 | virtual void appendContextMenu(ui::Menu* menu) {}
| ^~
In file included from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/rack.hpp:26:
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp: In member function 'rack::ui::Menu* rack::createSubmenuItem(std::string, std::string, std::function<void(ui::Menu*)>, bool)::Item::createChildMenu()':
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp:328:46: error: invalid use of incomplete type 'struct rack::ui::Menu'
328 | auto *menu = new ui::Menu;
| ^~~~
In file included from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/engine/Module.hpp:14,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/app/PortWidget.hpp:5,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/app/SvgPort.hpp:3,
from /Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/componentlibrary.hpp:6:
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/plugin/Model.hpp:14:8: note: forward declaration of 'struct rack::ui::Menu'
14 | struct Menu;
| ^~~~
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp: In member function 'rack::ui::Menu* rack::createSubmenuItem(std::string, std::function<std::__cxx11::basic_string<char>()>, std::function<void(ui::Menu*)>, bool)::Item::createChildMenu()':
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp:374:46: error: invalid use of incomplete type 'struct rack::ui::Menu'
374 | auto *menu = new ui::Menu;
| ^~~~
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/plugin/Model.hpp:14:8: note: forward declaration of 'struct rack::ui::Menu'
14 | struct Menu;
| ^~~~
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp: In member function 'rack::ui::Menu* rack::createIndexSubmenuItem(std::string, std::vector<std::__cxx11::basic_string<char> >, std::function<unsigned int()>, std::function<void(unsigned int)>, bool, bool)::Item::createChildMenu()':
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/helpers.hpp:444:46: error: invalid use of incomplete type 'struct rack::ui::Menu'
444 | auto *menu = new ui::Menu;
| ^~~~
/Users/ericgao/Documents/Projects/ports/metamodule-plugin-sdk/metamodule-rack-interface/include/plugin/Model.hpp:14:8: note: forward declaration of 'struct rack::ui::Menu'
14 | struct Menu;
| ^~~~
ninja: build stopped: subcommand failed.