I think it should be:
```#elif defined(__linux__)```
(same for ```#elif __APPLE__``` below)