Коллеги помогите пожалуйста с Сишным препроцессором.
Задача. Есть функция void _Func1(...) {}
Для нее делается объявление в хедере.
В зависимости от OS (iOS/Win/Linux) требуется, чтобы имя функции в хедере было _Func1 либо Func1 (), без подчеркивания (это как раз iOS вариант, не спрашивайте нахрена они это сделали

Хочу сделать подстановку этого подчеркивания с помощью препроцессора. пробовал так:
Код
#ifdef IOS
#define OS_PREFIX
#else
#define OS_PREFIX _
#endif
#define __Func1(pref) void CALL_TYPE ##pref##Func1(...)
__Func1(OS_PREFIX);
#define OS_PREFIX
#else
#define OS_PREFIX _
#endif
#define __Func1(pref) void CALL_TYPE ##pref##Func1(...)
__Func1(OS_PREFIX);
Но получается только void CALL_TYPEOS_PREFICFunc1(...)
Подскажите пожалуйста, как заставить этот OS_PREFIX разворачиваться?
Спасибо.