Respuestas:
#if defined LINUX || defined ANDROID
//...
#endif
o-
#if defined(LINUX) || defined(ANDROID)
//...
#endif
Ambos anteriores son iguales, el que use simplemente depende de su preferencia.
PD : #ifdef
es simplemente la forma abreviada de #if defined
, sin embargo, no admite condiciones complejas.
Más lejos-
#if defined LINUX && defined ANDROID
#if defined LINUX ^ defined ANDROID
|
"o" en sus condicionales C, lo está haciendo mal.