c++ - 在 iOS 项目中将 c++ 与 objective-c 集成

标签 c++ objective-c xcode ios

我的任务是将一些 C++ 代码添加到 iOS 项目中。

C++ 代码以几个库 (.a) 和扩展名为 .hpp 的头文件的形式出现

我已将这些文件添加到 XCode iOS 项目中,并在项目设置中添加了库路径和 header 搜索路径,但出现编译错误。

例如,其中一个 .hpp 文件包含:

`#include <string>`

我得到的错误是“字符串:没有这样的文件或目录”

在同一个 hpp 文件中有一个命名空间声明:

`namespace FooBar`

此行有一个错误是“在‘FooBar’之前需要‘=’、‘、’、‘;’、‘asm’或‘属性’”

我是直接进入 iOS 编程的,所以我的经验主要是 objective-c。任何人都可以在项目设置、搜索路径等方面提供任何建议,以使 c++ 与 obj-c 一起工作吗?

提前致谢!

最佳答案

可能是因为包含此 header 的 Objective-C 文件未处于 Objective-C++ 模式。通常,您可以通过将实现设为 .mm 文件而不是 .m 来解决此问题,因为后者是纯 Objective-C。

关于c++ - 在 iOS 项目中将 c++ 与 objective-c 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4886900/

相关文章:

ios - 在不使用循环但使用游标的情况下遍历 NSArray?

ios - 如何使标题标签适合导航 Controller 的后退按钮:XCode

xcode - 将 JSON 从 AlamoFire/SwiftyJSON 转换为 Swift/Xcode 中的字典

c++ - 发送 POST 请求

c++ - C++中的字符串、字符比较

ios - 如何在iOS 10上覆盖WKWebView的 "Save Image"菜单

xcode - 使用 xcode 获取 HTTP header

ios - UICollectionView 将单元​​格存储在数组中以便快速加载

c++ - 在多线程单写入器多读取器代码中安全使用 int

C++ 复制构造函数被调用而不是 initializer_list<>