我正在尝试使用新的 Xcode4 工作区功能来迁移一些在它们之间具有依赖关系的 Xcode3 项目。我有一个创建静态库的项目,然后是一个依赖于静态库的应用程序项目。因此,正如指南所述,我创建了一个新工作区并将两个项目都拖到工作区中。但是,当我构建我的应用程序时,它无法从我的静态库中找到头文件。我收到“没有这样的文件或目录”错误。我的目的是让 Xcode 自动检测依赖关系。但是,不确定我做错了什么,我无法让它工作。任何帮助是极大的赞赏。那里也没有太多文档。
问问题
3061 次
3 回答
3
经过几个令人沮丧的小时后,我可能找到了解决方案(仍然不确定它是否正确)。
- 创建了一个新工作区
- 添加了共享库项目
- 在共享库下面添加了应用程序项目(不在里面)
- 打开共享库的构建阶段并确保在复制标头时将其分组为公共
- 打开应用程序的构建设置并在标题搜索路径中键入“BUILD_PRODUCTS_DIR”\usr\local\include
- 并且在目标的构建阶段,包含指向静态库(共享库)的链接
进行了清理和构建,一切都已成功构建。
但是,我仍然不相信这是正确的方法,因为根据 Xcode4 指南,不需要更改设置,只需将项目添加到工作区就可以了。总有一天,我希望找到正确的解决方案并使用它。
谢谢贾维德
于 2011-03-25T15:17:30.097 回答
2
问题似乎在于 Xcode 环境变量报告了错误的位置。例如 $(TARGET_BUILD_DIR) 转换为:
/构建/调试/
..但是在使用工作区时,会在该路径中插入一个额外的文件夹:
/构建/产品/调试
..Xcode 似乎忽略或无法处理。
于 2011-08-05T19:46:13.397 回答
2
至少有几种方法可以解决这个问题。
我所做的是为主目标的用户标题搜索路径构建设置设置一个值,指向库路径。只需在构建设置编辑器搜索框中输入“用户标题”,您就会找到它。
如果您正在使用您打算经常使用的库,最好为其设置源树设置。这是在 XCode Prefs -> Source Trees 中。添加一个条目,放入库源的路径,并给它一个合理的设置名称,例如。XXLIBRARY_SOURCE。然后在用户标头搜索路径(或任何其他需要库路径的构建设置)中,您可以使用 $(XXLIBRARY_SOURCE) 作为路径。
一个更简单但不太灵活的替代方法是将库的标题拖到您的主项目中。
于 2011-03-25T02:11:48.430 回答