Xcode4工作区共享项目

时间:2011-03-25 01:39:25

标签: xcode xcode4 shared-libraries xcode3to4

我正在尝试使用新的Xcode4工作区功能来迁移一些在它们之间具有依赖关系的Xcode3项目。我有一个项目,它创建一个静态库,然后是一个依赖于静态库的应用程序项目。因此,正如指南所提到的,我创建了一个新工作区并将两个项目拖到工作区中。但是,当我构建我的应用程序时,它无法从我的静态库中找到头文件。我得到“没有这样的文件或目录”错误。我的目的是让Xcode自动检测依赖关系。但是,不确定我做错了什么,我无法让它发挥作用。 任何帮助是极大的赞赏。那里没有太多文件。

3 个答案:

答案 0 :(得分:3)

经过几个令人沮丧的时间后,我可能找到了一个解决方案(仍不确定这是否正确)。

  1. 创建了新工作区
  2. 添加了共享库项目
  3. 在共享库(不在内部)
  4. 下添加了应用程序项目
  5. 打开共享库的构建阶段,并确保在复制标题时将其分组为public
  6. 打开应用程序的构建设置,并在“BUILD_PRODUCTS_DIR”\ usr \ local \ include
  7. 中输入的页眉搜索路径中
  8. 在目标的构建阶段,包含指向静态库(共享库)的链接
  9. 干净的构建和一切都是成功构建的。

    但是,我仍然不相信这是正确的方法,因为根据Xcode4指南,不需要更改设置,只需将项目添加到工作区就可以处理所有事情。总有一天,我希望找到正确的解决方案并使用它。

    由于 Javid

答案 1 :(得分:2)

至少有几种方法可以解决这个问题。

我所做的是为主目标的用户标题搜索路径构建设置设置一个值,指向库路径。只需在构建设置编辑器搜索框中键入“用户标题”,您就可以找到它。

如果您正在使用经常使用的库,则最好为其设置源树设置。这是在XCode Prefs - >源树。添加一个条目,放入库源的路径,并给它一个合理的设置名称,例如。 XXLIBRARY_SOURCE。然后在用户标题搜索路径(或您需要库路径的任何其他构建设置)中,您可以使用$(XXLIBRARY_SOURCE)作为路径。

一种更简单但不太灵活的替代方法就是将库的标题拖到主项目中。

答案 2 :(得分:2)

问题似乎在于Xcode环境变量报告错误的位置。例如$(TARGET_BUILD_DIR)转换为:

<强> /建造/调试/

..但在使用工作区时,会在该路径中插入一个额外的文件夹:

<强> /建造/产品/调试

.. Xcode似乎忽略或无法处理。