INADDR_NONE problem

The library you’re using has a conflict with the definition of INADDR_NONE in framework-arduinoespressif32/tools/sdk/include/lwip/lwip/inet.h. The code in RdUtils/Utils.h attempts to create a variable with the name INADDR_NONE but the aforementioned header file already macro-defines it to IPADDR_NONE which is mapped to ((u32_t)0xffffffffUL) so the fully extended line looks like

static const unsigned long ((u32_t)0xffffffffUL) = ((unsigned long)0xffffffff);

which is of course invalid code.

My best guess would be that you can comment that line out (lib/RdUtils/Utils.h:26) and it should cause no problems since INADDR_NONE is still defined and still maps to the constant 0xffffffff.

To make it more general you can also do it as

#ifndef INADDR_NONE
static const unsigned long INADDR_NONE = ((unsigned long)0xffffffff);
#endif

so that you will provide the value for platforms that don’t predefine INADDR_NONE, and let the value be for those that have already defined it.