首页 关于 微信公众号
欢迎关注我的微信公众号

在 Xcode 中混编 OC、C、C++ 代码

在有些 iOS 项目中,可能会用到一些用 C、C++ 开发的第三方代码或外部库,这时候可能就会涉及到 OC、C、C++ 代码的混编。

我创建了一个示例项目,地址在:CrossCompileDemo

项目的结构大致是这样的:

具体的代码我这里就不贴了,可以直接 clone 项目来看。

Xcode 在编译代码时默认是根据文件的后缀名来匹配相应的编译命令,所以需要注意下面几点:

如果你不想修改文件后缀名,也希望 Xcode 正确编译,那么可以在 File inspector 中修改文件的类型来告诉 Xcode 每个文件的实际类型:

image

在一些情况下,你已经有一个 C、C++ 实现的项目,你现在需要把它编译为支持 armv7、arm64 等架构来适配 iOS 设备,这时你可以了解一下 GYP 这个工具,它可以帮助你把一个平台无关的项目迁移为一个 Xcode 项目从而支持对 armv7、arm64 等架构的编译。

Blog

Opinion

Project