objective-c包装器用于命名空间的c ++库(gloox)

时间:2011-08-31 14:33:28

标签: c++ objective-c namespaces wrapper

我试图将gloox库包装在objective-c中。我已经阅读了这篇文章Making a Objective-C Wrapper for a C++ Library并且它非常简单,但它不包括命名空间内的类。关于如何在上面的文章中仅使用命名空间来使用该技术的任何想法? 谢谢你的帮助!

[编辑] 想想我明白了 添加

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

1 个答案:

答案 0 :(得分:1)

我认为当编译为客观的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项目有很多examples用于混合C ++和Objective-C。