Опитвам се да разработя C++ библиотека за iOS приложение. Тази библиотека зарежда функциите GLES и OpenAL. Идеята е да се разработи библиотека в C++ и да се използва същия код в iOS и Android (и двете като нативна компилация). Аз съм само с внедряването на iOS и направих примерно приложение с библиотеката и имам този блок в библиотеката:
#ifdef _IPHONE_4_0 #warning "Including iPhone SDK 4.0 working here" // compiling warning is actived #include <OpenGLES/ES2/gl.h> #include <OpenGLES/ES2/glext.h> #include <OpenAL/al.h> #include <OpenAL/alc.h> ... #elif __ANDROID_API_ // Android #warning "Including Android working here" // Compiling warning is not actived ... #endif
И така, проблемът идва с изречението "#ifdef _IPHONE_4_0". Ако го използвам, Xcode не може да намери включените файлове, но ако коментирам цялата клаузула if (частта за android също), Xcode може да ги намери всички.
Изреченията #warning показват, че компилаторът чете частта за iphone (с и без коментарирани редове) по време на компилация. Трябва ли да използвам определението по друг начин?
Благодаря предварително!