Xcode 4:如何向项目添加静态库目标依赖项

时间:2011-05-13 02:12:16

标签: xcode4 build-dependencies

我知道,这已被问过几次,但主要是针对Xcode 3.x.对于iPad,我有两个项目都住在一个共同的工作空间

  • Foo,一个基于视图的应用程序和
  • Foolib,一个静态Cocoa-Touch库
前者取决于后者。我似乎无法弄清楚如何添加该依赖项。在文档中没有很好地解释,所以我尝试了以下内容:

  1. 点击左侧导航区域中的Foo项目
  2. 选择Build Phases up the top并展开Target Dependencies部分
  3. 单击加号按钮,但结果列表为空。
  4. 我还尝试将.a文件拖放到该部分,但收效甚微。此外,文档说明

      

    如果工作空间中一个项目的构建产品依赖于工作空间中另一个项目的构建产品(例如,如果一个项目构建另一个项目使用的库),Xcode会发现这样的隐式依赖项并构建在正确的顺序。

    我想知道Xcode如何发现这些依赖关系。 Apple是否说我根本不需要添加这个目标依赖项?但那么Xcode如何发现一个人正在使用另一个?

    最后但并非最不重要的是,我需要以某种方式将Foolib的.h文件传输到Foo。建议的方法是什么?显然,我不想只是复制它们。使用框架包含头文件,但人们在处理它们自己并行开发的静态库时通常会做些什么。

    非常感谢正确方向的推动。谢谢。

1 个答案:

答案 0 :(得分:13)

一般来说,Xcode 4似乎会自动发现依赖关系,如编辑方案表所示。其他开发人员已经提到,依赖关系不会自动发现,需要明确列出它们:

所以,编辑方案 - >构建 - >从工作区添加目标。

就静态库头文件而言,Xcode 4似乎有问题,至少在代码完成和语法突出显示方面。唯一的方法是我可以使用静态库中的类正常工作,将有问题的头文件的副本拖到主项目中的组文件夹中。请注意,您应该取消选中Add to Target ...这将处理语法突出显示和代码完成。其余的应该通过给它正确的标题搜索路径来处理。这将是用户标题搜索路径= $(BUILT_PRODUCTS_DIR) - 取决于您设置位置偏好的方式。

请参阅:this link