2

我有一个文件夹位于我的硬盘上,基本上是我创建的便利类库(文件是.h和.cpp)。我想让它们保持在外部,这样我就可以从多个正在进行的项目中持续引用它们Xcode,包括构建中的外部参考文件夹

我使用添加现有文件并选择文件夹,将其作为参考(蓝色文件夹)添加到我的xcode类文件夹中。当我试图从项目文件中访问这些文件时,我得到一系列错误,因为显然我不知道我在做什么。我需要采取哪些步骤来确保所有外部文件都包含在构建中?

的感谢!

回答

-1

我有一个文件夹位于我的硬盘上,基本上是我创建的方便的类库(文件是.h和.cpp)。

Xcode不会自动枚举目录内容并生成静态库,因为文件夹引用可能意味着。最简单的方法来管理这是创建你的其他项目中引用库:

  • 创建一个新的Xcode项目
  • 添加静态库的目标(注:这也可能会被另一个库型)
  • 您的源文件添加到新项目
  • 在.cpp文件添加到静态库

  • 添加新的项目,以现有的应用程式

  • 库添加到应用程序的链接阶段

  • 保持你的静态库同步与文件编译

这只是一个总结; This looks like a more detailed introduction.

+0

感谢您的回应!这几乎奏效。我按照教程正确连接了一切。问题是我的库中的一些文件也依赖于我的项目中的文件,并且因未找到而被抛出,例如cocos2d.h和box2D.h。正在穿越我的手指这两个项目只会握手,玩得很好,但这似乎并非如此。在我的情况下,这是否意味着我将无法使用这种方法? – hOOks7

+0

@ user2033824 cocos2d和box2d都是第三方库。假设你正在做明显的事情 - 只需将它们配置为依赖静态库。所以说你有这两个库,你的库和你的应用程序 - 你有一个依赖结构,你的应用程序依赖于所有3个库,而你的库依赖于这2个库。所以你有一个非常明确的依赖关系结构。你的库需要能够找到它的依赖关系的头文件(例如box2d),但是你的库不应该链接到box2d库文件 - 只要告诉你的应用程序目标就可以做到这一点。 – justin

+0

@ user2033824 IOW,您可以使用此方法。如果box2d提供静态库,则您的应用程序不应该编译box2d源代码。它应该将库设置为依赖项并链接到它。参考这些 - 不要复制/重复工作。有一些更高级的技术可以合并更复杂的依赖关系,但是现在这对你来说应该很好。确保你在得到太花哨之前获得基础知识。 – justin