I seem to continually see compile errors in mine and the projects of others where, in particular, size_t is detected as redefined. Sometimes this can be traced back to an x86/x64 mismatch but often it seems to make no sense at all and be the result of a whole nested collection of includes I am not responsible for.
The Visual C++ error returned is powerfully unhelpful, simply suggesting redefinition without pointing out where the first definition happened. I am looking for a way of finding all definitions that are actually participating in my build and detecting the error. I have looked at the header file, it is protected from redefinition so that leaves me with no more ideas.
The present project is building an Arduino project in VC++. I have removed all connection to the default GCC headers, only using the Arduino header paths, and only including a single header file, Arduino.h, once. Strangely, with no headers included at all, size_t is defined, but with Arduino.h it is. A corollary question would be where is this definition coming from?