объект-c-оболочка для библиотеки пространств имен c ++ (gloox) - PullRequest
0 голосов
/ 31 августа 2011

Я пытаюсь обернуть библиотеку gloox в target-c. Я читал эту статью Создание обёртки Objective-C для библиотеки C ++ , и это довольно просто, но не охватывает классы, которые находятся внутри пространства имен. Любые мысли о том, как использовать технику в статье выше только с пространством имен? Спасибо за помощь!

[править] Думаю, я понял это добавить

#ifdef __cplusplus
namespace gloox {
class Client;
}
#endif

1 Ответ

1 голос
/ 31 августа 2011

Я думаю, что очевидное должно работать, когда скомпилировано как цель C ++:

#if defined __cplusplus
namespace Foo { class MyCPPClass; }   // forward class declaration
#else
/*not sure here*/ /*namespace Foo { typedef struct MyCPPClass MyCPPClass;  }*/ // forward struct declaration
#endif

@interface MyOCClass : NSObject
{
@private
    Foo::MyCPPClass* cppObject;
} 

// methods and properties

@end

В проекте Qt есть много примеров для смешивания C ++ и Objective-C.

...