I am trying to use the boost libraries with a PowerPlant project on the
MacOS, and I ran into a small incompatibility between the headers. I am not
sure which codebase is at fault here.
The issue is with the __MACH__ symbol. In the Boost code where it is
checking for what platform I am using, it correctly identifies my platform
as MacOS. Then, in a file called MacOS.hpp, it uses the __MACH__ symbol to
determine if I am using the BSD standard C libraries or MSL. (I am using
MSL.)
It does this by checking for the EXISTANCE of the __MACH__ symbol, not
the value of it:
// If __MACH__, we're using the BSD standard C library, not the MSL:
#if defined(__MACH__)
However, in the PowerPlant header PP_Macros.h, the __MACH__ symbol is
defined and set to zero:
#ifndef __dest_os // For MSL
#ifndef __MACH__
#define __MACH__ 0
#endif
#if __MACH__
#include