Компилиться в MS Studio без проблем. Но не компилится компилятором gcc в Linux (конкретно компилятором в Android NDK).
Почему так, и как это можно обойти, не меняя самого подхода, примененного в этом коде? На самом деле реально используемый код сложнее, но завязан именно на подобный дефайн, переделывать его сейчас — очень геморройно.