iphone - 让 XCode 在 XCode 4.3(.1) 中包含、编译和链接现有 (C++) 代码库

标签 iphone c++ ios xcode

我正在尝试将现有的 C++ 代码库“导入”到我的 XCode iOS 项目中。

问题是,xCode 不会编译(因此不会链接)我的代码。 这是我到目前为止所做的:

  • 文件 > 将文件添加到“项目”。我没有勾选“复制文件”,因为它是多个平台的共享代码库,并且源代码的多个拷贝不是一个选项。
  • 我已在“标题搜索路径”项目设置中添加了适当的路径。包含头文件有效,我可以从我的 Objective-C++ (.mm) 文件中#include "stuff.h"。

但是,我找不到任何方法来实际告诉 XCode 编译 .cpp 文件?

几点:

  • 我不是在寻找将其预编译到库中并以这种方式链接的方法
  • 该项目是一个标准的 iOS Objective-C 项目。从中调用 C++ 代码(这不是问题)

更新

我已将代码库 目录 添加到目标的“编译源”中。我实际上必须在弹出的对话框中单击“添加其他...”,因为我无法选择对我的代码库的目录引用。

当我添加它时,XCode 会询问我是否要“创建外部构建系统项目”。我把它打勾,两个字段的默认值是“/usr/bin/make”和“$(ACTION)”。但是,我的代码库在构建过程中没有被编译。我必须编写自己的 Makefile 吗?

如果我不选择“创建外部构建系统项目”,则会在目标下创建目录引用,但在构建期间未编译并发出警告:

warning: no rule to process file '$(PROJECT_DIR)/../codebase'
of type folder for architecture i386

最佳答案

即使您不勾选Copy Files,在将文件添加到项目时也必须勾选Add to Targets

enter image description here

如果您忘记执行此操作,您可以选择目标,转到 Build Phases 选项卡并将文件添加到 Compile Sources

enter image description here

关于iphone - 让 XCode 在 XCode 4.3(.1) 中包含、编译和链接现有 (C++) 代码库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10128646/

相关文章:

c++ - 查找与无符号 vector 的所有部分匹配

c++ - 数组排序失败

ios - SCNMaterial 内容中的 SKScene 出现颠倒

ios - Xcode 构建完成。无法构建 iOS 应用 - Flutter 项目

iphone - 在 iPhone 导航栏上绘制自定义后退按钮

ios - 如何检测iPhone相机是否未拍摄图像?

iphone - AFNetworking 2.0 错误 :Property with 'retain (or strong)' attribute must be of object type

c++ - 父进程不读取表单管道

ios - 如何使用 Alamofire 快速调用 web 服务?

iphone - 无法连接到生产 Apple 推送通知服务器