, который не является проблемой, потому что я могу скомпилировать исходный файл для бэкэнда металла в качестве объектива-C ++, но если я вставляю какие-либо типы OBJC в качестве членов класса в файл заголовка металла, теперь все другие файлы CPP, который будет включать в себя, который должен быть на самом деле, и мне не очень, что я тоже не так, как и на самом деле. Мое решение состояло в том, чтобы иметь следующий макрос внутри заголовка: < /p>
Код: Выделить всё
#ifdef __OBJC__
#include
#include
#define OBJC_ID(type) id
#define OBJC_PTR(type) type
#else
#define OBJC_ID(type) void*
#define OBJC_PTR(type) void*
#endif
//Inside MetalDevice class
//...
private:
OBJC_ID(MTLDevice) m_device;
//other memebers
Подробнее здесь: https://stackoverflow.com/questions/796 ... ass-member
Мобильная версия