SanderMertens / flecs

A fast entity component system (ECS) for C & C++
https://www.flecs.dev
Other
6.36k stars 443 forks source link

Can't compile if I include magic_enum using MSVC. #1386

Open xagalvarez opened 1 week ago

xagalvarez commented 1 week ago

Describe the bug

If I include magic_enum header before flecs header I get an error with flecs, if I switch it I get an error with both headers.

C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(337): warning C4003: not enough arguments for function-like macro invocation 'min' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): error C2589: '(': illegal token on right side of '::' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): note: the template instantiation context (the oldest one first) is C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(301): note: while compiling class template 'flecs::_::enum_type' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): error C3878: syntax error: unexpected token '(' following 'expression' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): note: error recovery skipped: '( (' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): error C2760: syntax error: '<' was unexpected here; expected 'statement' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): note: error recovery skipped: '<' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): error C2760: syntax error: ')' was unexpected here; expected 'expression' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): error C2760: syntax error: ')' was unexpected here; expected ';' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): error C3878: syntax error: unexpected token ')' following 'expression_statement' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): error C3878: syntax error: unexpected token ')' following 'statement' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): error C3878: syntax error: unexpected token ')' following 'selection_statement' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): note: error recovery skipped: ') ) ?' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): note: error recovery skipped: ') :' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): note: error recovery skipped: ') )' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): note: error recovery skipped: ') ) )' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): note: error recovery skipped: ')' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): note: error recovery skipped: '( (' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): note: error recovery skipped: ') <' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): note: error recovery skipped: ') ) ?' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): note: error recovery skipped: ') :' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): note: error recovery skipped: ') )' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): note: error recovery skipped: ') ) ) . . . ||' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(335): note: error recovery skipped: ')' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_flecs-src\include\flecs\addons\cpp\utils\enum.hpp(319): note: This diagnostic occurred in the compiler generated function 'std::underlying_type<_Ty>::type flecs::_::enum_type<E>::reflection_init::handle_constant(std::underlying_type<_Ty>::type,flecs::world_t *)'

Magic enums

C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1333): warning C4003: not enough arguments for function-like macro invocation 'enum_cast' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1333): error C2988: unrecognizable template declaration/definition C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1333): error C2059: syntax error: 'static_cast' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1333): error C2143: syntax error: missing ';' before '{' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1333): error C2447: '{': missing function header (old-style formal list?) C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): error C2988: unrecognizable template declaration/definition C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): error C2059: syntax error: 'static_cast' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): error C2143: syntax error: missing ';' before '{' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): error C2143: syntax error: missing ')' before ';' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): error C2447: '{': missing function header (old-style formal list?) C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): error C2059: syntax error: ')' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): error C2988: unrecognizable template declaration/definition C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): error C2059: syntax error: 'noexcept' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): error C2065: 'BinaryPredicate': undeclared identifier C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): error C2065: 'E': undeclared identifier C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): error C2065: 'E': undeclared identifier C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): error C2065: 'BinaryPredicate': undeclared identifier C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): error C2923: 'std::decay_t': 'E' is not a valid template type argument for parameter '_Ty' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): note: see declaration of 'E' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): error C2923: 'magic_enum::detail::enable_if_t': 'E' is not a valid template type argument for parameter 'T' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): note: see declaration of 'E' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): error C3203: 'optional': unspecialized class template can't be used as a template argument for template parameter 'R', expected a real type C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): error C2923: 'magic_enum::detail::enable_if_t': 'BinaryPredicate' is not a valid template type argument for parameter 'BinaryPredicate' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): note: see declaration of 'BinaryPredicate' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1362): error C2976: 'magic_enum::detail::enable_if_t': too few template arguments C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(893): note: see declaration of 'magic_enum::detail::enable_if_t' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1363): error C2065: 'E': undeclared identifier C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1363): error C2923: 'std::decay_t': 'E' is not a valid template type argument for parameter '_Ty' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1363): note: see declaration of 'E' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1364): error C2065: 'D': undeclared identifier C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1364): error C2065: 'S': undeclared identifier C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1364): error C2923: 'magic_enum::detail::is_reflected_v': 'D' is not a valid template type argument for parameter 'E' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1364): note: see declaration of 'D' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1364): error C2975: 'S': invalid template argument for 'magic_enum::detail::is_reflected_v', expected compile-time constant expression C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(880): note: see declaration of 'S' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1364): error C2440: 'specialization': cannot convert from 'int' to 'magic_enum::detail::enum_subtype' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1364): note: Conversion to enumeration type requires an explicit cast (static_cast, C-style cast or parenthesized function-style cast) C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1364): error C2062: type 'unknown-type' unexpected C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1375): error C2988: unrecognizable template declaration/definition C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1375): error C2059: syntax error: 'for' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1375): error C2143: syntax error: missing ')' before ';' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1375): error C2065: 'D': undeclared identifier C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1375): error C2065: 'S': undeclared identifier C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1375): error C2923: 'magic_enum::detail::count_v': 'D' is not a valid template type argument for parameter 'E' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1375): note: see declaration of 'D' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1375): error C2975: 'S': invalid template argument for 'magic_enum::detail::count_v', expected compile-time constant expression C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(821): note: see declaration of 'S' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1375): error C2440: 'specialization': cannot convert from 'int' to 'magic_enum::detail::enum_subtype' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1375): note: Conversion to enumeration type requires an explicit cast (static_cast, C-style cast or parenthesized function-style cast) C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1375): error C2143: syntax error: missing '>' before ';' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1375): error C7568: argument list missing after assumed function template 'i' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1375): error C2988: unrecognizable template declaration/definition C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1375): error C2059: syntax error: '++' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1375): error C2059: syntax error: ')' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1375): error C2143: syntax error: missing ';' before '{' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1375): error C2447: '{': missing function header (old-style formal list?) C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1380): error C2988: unrecognizable template declaration/definition C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1380): error C2059: syntax error: 'return' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1380): error C2143: syntax error: missing ';' before '{' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1380): error C2447: '{': missing function header (old-style formal list?) C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1384): error C2653: 'detail': is not a class or namespace name C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1384): error C2061: syntax error: identifier 'enum_subtype' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1384): error C2988: unrecognizable template declaration/definition C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1384): error C2059: syntax error: '>' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1385): error C2653: 'detail': is not a class or namespace name C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1385): error C2143: syntax error: missing ';' before '{' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1385): error C2447: '{': missing function header (old-style formal list?) C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1393): error C2653: 'detail': is not a class or namespace name C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1393): error C2993: 'unknown-type': is not a valid type for non-type template parameter 'S' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1394): error C2653: 'detail': is not a class or namespace name C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1394): error C3613: missing return type after '->' ('int' assumed) C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1394): error C7568: argument list missing after assumed function template 'enable_if_t' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1394): error C2062: type 'unknown-type' unexpected C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1394): error C2143: syntax error: missing ';' before '{' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1394): error C2447: '{': missing function header (old-style formal list?) C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1402): error C2653: 'detail': is not a class or namespace name C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1402): error C2061: syntax error: identifier 'enum_subtype' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1402): error C2988: unrecognizable template declaration/definition C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1402): error C2059: syntax error: '>' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1403): error C7568: argument list missing after assumed function template 'underlying_type_t' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1403): error C2653: 'detail': is not a class or namespace name C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1403): error C2143: syntax error: missing ';' before '{' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1403): error C2447: '{': missing function header (old-style formal list?) C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1410): error C2653: 'detail': is not a class or namespace name C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1410): error C2993: 'unknown-type': is not a valid type for non-type template parameter 'S' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1410): error C2988: unrecognizable template declaration/definition C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1410): error C2059: syntax error: ',' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1411): error C2143: syntax error: missing ';' before '{' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1411): error C2143: syntax error: missing ')' before ';' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1411): error C2447: '{': missing function header (old-style formal list?) C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1411): error C2059: syntax error: ')' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1411): error C2988: unrecognizable template declaration/definition C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1411): error C2059: syntax error: 'noexcept' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1411): error C2653: 'detail': is not a class or namespace name C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1411): error C2653: 'detail': is not a class or namespace name C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1412): error C2065: 'E': undeclared identifier C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1412): error C2923: 'std::decay_t': 'E' is not a valid template type argument for parameter '_Ty' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1412): note: see declaration of 'E' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1414): error C2988: unrecognizable template declaration/definition C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1414): error C2059: syntax error: 'return' C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1414): error C2065: 'D': undeclared identifier C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1414): error C2065: 'S': undeclared identifier C:\Users\Agustin\Desktop\Chotardum Online\Aeldur\.idea\cmake-debug\_deps\external_neargye-src\include\magic_enum/magic_enum.hpp(1414): fatal error C1003: error count exceeds 100; stopping compilation

codylico commented 2 days ago

Sounds like an #include <Windows.h> header is fighting one or both of those libraries. Try placing the following at the top of the source file:

#define NOMINMAX