На этот вопрос уже есть ответ здесь:
Если есть кроссплатформенный код C / C ++, который следует скомпилировать в Mac OS X, iOS, Linux, Windows, как можно Я надежно их обнаруживаю в процессе препроцессора?