2

我正在尝试在我的 iOS 应用程序中使用 C++ 库,并将该库包装在 Objective-C++ 代码中。

我的 iOS 应用程序依赖的头文件之一是 C++ 头文件,它在命名空间内声明了一些数据类型(枚举和类)。当我包含 C++ 标头 iOS 领域时,我收到有关无法识别命名空间关键字的编译器错误。

除了为所有 C++ 命名空间版本创建 Objective-C++ 包装类之外,还有其他方法可以引入 C++ 标头吗?

4

1 回答 1

4

您唯一能做的就是将您的 C++ 标头导入包装在一个#ifdef __cplusplus指令中,这可以保证其他 Objective-C++ 和 C++ 标头可以看到这些命名空间枚举和数据类型的值。如果您使用未经检查的包含,总会有某种形式的 C++ 标头污染。

于 2013-06-14T00:08:53.173 回答