在Xcode中添加来自添加框架的标头

时间:2013-03-20 22:58:17

标签: xcode macos frameworks glew cg

我想使用glewcg这样的框架,所以我手动添加了

通过右键单击项目所需的框架到我的项目 - >将文件添加到...

并选择正确的框架。问题是,当我尝试包含头文件时,

Xcode无法找到它们中的任何一个。我希望这张照片有助于理解:

enter image description here

enter image description here

给出的错误是glew框架,但它也发生在Cg上。

如右图所示,添加了所需的框架。

关于如何包含这些标题的任何想法?

尝试手动添加头文件后,我遇到了架构错误:

enter image description here

我不知道这是不是应该是这样的。 谢谢!

5 个答案:

答案 0 :(得分:58)

在开始之前,请删除框架以及您尝试使用时添加的所有文件。

然后,您必须在目标的Build Phases中添加框架。然后进入Link Binary With Libraries并从那里选择您的框架。

这应该这样做。每个#import directive.后,您的标题应该可用作自动完成功能 如果它不起作用(有时会发生),我可以为您提供额外的步骤。

其他步骤:

转到构建设置中的项目设置:

  • 使用框架的路径完成Framework Search Paths
  • User Header Search Path
  • 执行相同操作

然后,它应该工作。如果没有,则需要在#import指令中添加标题的完整路径。例如:

#import "/path/to/my/header.h"


Apple的文档available here 声明:

  1. 在项目导航器中,选择 你的项目
  2. 选择目标
  3. 选择“构建阶段”标签
  4. 打开'与图书馆链接二进制文件' 扩展
  5. 点击“+”按钮
  6. 选择您的框架
  7. (可选)拖放添加的 “框架”小组的框架

答案 1 :(得分:6)

就我而言,我已为Target添加了Framework Search Paths,但应将其添加到Project

enter image description here

同样Always Search Users Path应为yes

答案 2 :(得分:4)

对于那些在添加框架后自动填充失败的人。

我曾经通过转到Build Phases并选择Link Binary with Libraries选项来添加框架。现在在XCode 6.1中,虽然项目正在建设中,但XCode中的自动完成功能无法正常工作。

所以需要做的是:

  1. Project Navigator以及Link Binary with Libraries
  2. 中删除已添加的框架
  3. 只需File - >将框架添加到项目中XCode中的Add Files to选项。
  4. 自动完成将开始工作。

答案 3 :(得分:2)

在我的例子中,外部框架已经与Windows一起下载并添加到项目中。然后它被转移到OSX,在那里构建Xcode项目并且外部框架没有正确加载。我想这是因为Windows将框架文件夹更改为常规文件夹,然后OSX会遇到问题。

我的解决方案是简单地使用OSX下载框架并将其拖到XCode项目的框架文件夹中。

答案 4 :(得分:1)

在我的情况下,我不得不更新框架版本,所以我只是替换了文件系统中的.framework,然后我得到了你在问题中提到的错误。

删除框架并重新添加,使用搜索路径和所有其他建议都没有帮助。

最后,清理build文件夹可以解决问题:

从xcode菜单中选择“Product”,按住alt键并单击:“Clean Build Folder”。

之后我成功构建并运行了项目。