xcode/iPhone的构建规则

xcode/iPhone的构建规则,iphone,compiler-warnings,build-rules,Iphone,Compiler Warnings,Build Rules,我将facebook SDK合并到一个更新中,我得到了四个文件的编译器警告,在我的一个目标中,每个文件都会得到两个这样的警告 [警告]警告:没有规则处理架构armv7的sourcecode.c.h类型的文件“$(PROJECT_DIR)/APP_NAME/Facebook.h” [警告]警告:没有规则处理架构armv6的sourcecode.c.h类型的文件“$(项目目录)/APP\u NAME/Facebook.h” 在另一个目标中,每个文件只生成一个警告 [警告]警告:对于体系结构i386,

我将facebook SDK合并到一个更新中,我得到了四个文件的编译器警告,在我的一个目标中,每个文件都会得到两个这样的警告

[警告]警告:没有规则处理架构armv7的sourcecode.c.h类型的文件“$(PROJECT_DIR)/APP_NAME/Facebook.h”

[警告]警告:没有规则处理架构armv6的sourcecode.c.h类型的文件“$(项目目录)/APP\u NAME/Facebook.h”

在另一个目标中,每个文件只生成一个警告

[警告]警告:对于体系结构i386,没有处理sourcecode.c.h类型的文件“$(项目目录)/APP\u NAME/FBConnect.h”的规则

在facebook SDK的文档中,他们告诉我将i386添加到构建设置中的有效架构中,但他们没有提到任何“构建规则”。奇怪的是,我已经将相同的facebook SDK合并到另一个应用程序中,没有任何问题。我能看到的唯一区别是,这个项目已经有了两个目标,并且(每个)这些警告只来自其中一个。谁能告诉我如何为这四个文件制定生成规则?我是否需要armv6、armv7和i386的生成规则

生成设置完全相同,但不同的-info.plist和不同的.pch文件除外。我应该补充一点,facebook的功能在模拟器上运行良好,但在任何使用构建目标的测试设备上都无法正常工作


非常感谢。

假设您使用的是Xcode 4,依赖项检查器可能会混淆,因为要编译的C文件列表中有.h文件

所以。。。。导航到目标的“构建阶段”选项卡。(单击项目,然后单击目标的名称,然后单击“构建阶段”选项卡。)

确保没有将任何.h文件拖到“编译源代码”部分

在导入代码时,通常只是将所有文件拖到该部分中,而没有意识到.h文件在技术上是未编译的,而且依赖项检查器也不够聪明,无法发出更多有用的错误消息。

该列表应仅包含.m文件。我不知道我们是否可以在其中放入一个.c文件,但不应该有任何其他文件类型。我喜欢一些开发人员甚至将Javascript文件拖到编译的源代码中。如果您面临相同的问题,您可能应该从编译源列表中删除任何非.m'文件。假设您是在Xcode4上运行的,下面是您如何做到这一点的

打开项目目标的“构建阶段”选项卡。(单击项目,然后单击目标的名称,然后单击“构建阶段”选项卡)。 在“编译的源代码”部分中,确保除.m文件外没有其他文件


祝你黑客愉快。

非常感谢。我不知道这里列出的所有其他文件都是.m文件。我上了。h在那里,移除它解决了问题。干杯,伙计。非常感谢你,现在帮了我+1的忙,因为你提到任何非.m文件都应该被删除。我一直在使用一个.c文件+1来表示粗体的“删除任何非.m”短语。我使用ZipArchive解压下载的文件。所有头文件都是在运行时编译的。如前所述删除了头文件,并删除了8条警告。