我正在尝试将现有的 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