包括Xcode上添加的框架中的标题

包括Xcode上添加的框架中的标题,xcode,macos,frameworks,glew,cg,Xcode,Macos,Frameworks,Glew,Cg,我想使用一些框架,比如glew和cg,所以我手动添加了 通过右键单击项目->将文件添加到…将所需的框架添加到我的项目中 以及选择正确的框架。问题是,当我尝试包含头文件时 Xcode找不到它们中的任何一个。我希望这张照片有助于理解: 以及: 给出的错误是针对glew框架的,但它也发生在Cg上 正如您在左侧看到的,添加了所需的框架 你知道我如何包含这些标题吗 尝试手动添加头文件后,我遇到一个架构错误: 我不知道这是不是应该的样子。 谢谢 开始之前,请删除框架和您在尝试使其工作时添加的所有文件 然后,

我想使用一些框架,比如glew和cg,所以我手动添加了

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

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

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

以及:

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

正如您在左侧看到的,添加了所需的框架

你知道我如何包含这些标题吗

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

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

开始之前,请删除框架和您在尝试使其工作时添加的所有文件

然后,您必须在目标的构建阶段添加框架。然后进入链接二进制库并从中选择您的框架

这应该可以做到。在每个导入指令之后,您的标题都应该是自动完成的。 如果它不起作用,它有时会发生,我可以为您提供额外的步骤

其他步骤:

转到“生成设置”中的项目设置:

用框架的路径完成框架搜索路径 对用户标题搜索路径执行相同的操作 那么,它应该会起作用。如果没有,则需要在import指令中添加标题的完整路径。例如:

导入/path/to/my/header.h

苹果的文档说明:

在项目导航器中,选择 你的项目 选择你的目标 选择“构建阶段”选项卡 打开“将二进制文件链接到库” 扩展器 单击“+”按钮 选择您的框架 可选拖放添加的 “框架”组的框架 对于那些在添加框架后自动完成失败的用户

我过去常常添加框架,方法是进入构建阶段并使用linkbinary with Libraries选项。现在,在XCode 6.1中,虽然项目构建得很好,但XCode中的自动完成功能不起作用

因此,需要做的是:

从projectnavigator和linkbinary库中删除已经添加的框架。 在XCode中,通过简单的文件->将文件添加到选项将框架添加到项目中。 自动完成将开始工作。

在我的例子中,我为目标添加了框架搜索路径,但它应该添加到项目中


另外,始终搜索用户路径应该是yes

在我的情况下,外部框架已使用Windows下载并添加到项目中。然后它被转移到OSX,在那里构建了Xcode项目,外部框架没有正确加载。我猜这是因为Windows将框架文件夹更改为常规文件夹,而OSX随后会遇到问题


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

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

删除框架并重新添加,玩弄搜索路径和所有其他建议都无济于事

最终,清理生成文件夹实现了以下目的:

从xcode菜单中选择Product,按住option键并单击:Clean Build Folder


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

@Itzik984我添加了额外的步骤。您的框架是否位于/Library/frameworks中?它们位于/System/Library/frameworks下,这样可以吗?还是应该把他们搬到那里去?@Itzik984我想没关系。但是您可能需要告诉Xcode哪个文件夹是框架,哪个文件夹是标题。我最近也有类似的问题。Xcode不会像以前那样使用/Library/frameworks中的链接框架进行编译。实际上,它找不到标题。在import指令中添加完整路径解决了这个问题。后来,我将文件夹添加到用户标题搜索路径中,这样我就不需要使用完整路径。我只是遇到了同样的问题,在将搜索路径设置为$SRCROOT和非递归时可以解决它!!!使用recursive auto complete无法找到它,但当设置为非recursive auto complete时,会找到子文件夹,然后是头文件。我也有同样的问题,通过设置我必须将Build Settings->Framework Search Path设置为$SRCROOT来修复它,假设您的框架位于项目目录的根目录中。对于以后的搜索,另一个潜在的原因是在你的项目中有一个重复的框架。我试图包括一个我自己构建的框架。出于某种原因,在build phases link binary with libraries部分将其添加到项目中是不起作用的,但只需通过向项目添加文件来添加框架就可以了。谢谢你。谢谢你!这是唯一的解决办法。。。只是想知道为什么要做到这一点总是那么困难
s的东西…在这个时候,不推荐