ctag-fh-kiel / ctag-tbd

CTAG TBD >>to be determined<< an extendible open source Eurorack sound module
Other
180 stars 49 forks source link

missmatch between C++ version in project CMakeLists.txt and code #72

Open mjleehh opened 4 days ago

mjleehh commented 4 days ago

Problem: The compiler provided with the espressif/idf:v5.3 docker image, correctly emits the following kinds of errors

main/Midi.hpp:238:32: error: 'using' with enumeration scope 'enum class CTAG::CTRL::Midi::TRIG_id_abcd' only available with '-std=c++20' or '-std=gnu++20'

Cause: Project CMakeLists.txt declares required C++ version to be c++17, despite main/Midi.hpp using enum scopes. See using enum declaration.

How to reproduce: build project using espressif/idf:v5.3 docker image

Possible Solution: Switching project to C++ 20 standard, resolves the issue. Line 5 of project CMakeLists.txt should be changed to

set(CMAKE_CXX_STANDARD 20)