我正在尝试在我的iOS应用程序中使用C ++库,并且我正在使用Objective-C ++代码包装库。
我的iOS应用程序所依赖的一个头文件是一个C ++头文件,它在名称空间内声明了一些数据类型(枚举和类)。当我包含C ++标头iOS land时,我收到有关未识别的namespace关键字的编译器错误。
没有为所有C ++命名空间版本创建Objective-C ++包装类,还有另一种方法来引入C ++标题吗?
答案 0 :(得分:4)
您唯一能做的就是将C ++标头导入包装在#ifdef __cplusplus
指令中,这样可以保证其他Objective-C ++和C ++标头可以看到这些命名空间枚举和数据类型的值。如果使用未经检查的include,将始终存在某种形式的C ++标题污染。