I see you always use `ifndef`, which might not be a good idea if there are potentially other platforms. E.g.
```
#if WIN32
#elif UNIX
#endif
```