为xcode / iPhone构建规则

时间:2011-09-30 00:46:12

标签: iphone compiler-warnings build-rules

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

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

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

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

[警告]警告:没有规则处理架构i386的源代码c.h的文件'$(PROJECT_DIR)/ APP_NAME /FBConnect.h'

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

除了不同的-info.plist和不同的.pch文件外,构建设置完全相同。我应该补充说,facebook功能在模拟器上工作正常,但在任何使用任一构建目标的测试设备中都没有。

非常感谢。

2 个答案:

答案 0 :(得分:115)

假设你正在使用Xcode 4,很可能因为在要编译的C文件列表中有.h文件而导致依赖性检查器混淆。

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

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

在导入代码时,通常只将整个批次拖到该部分中,而不是意识到.h文件在技术上没有编译,并且依赖性检查程序不够智能,无法发出更有用的错误消息。< / p>

答案 1 :(得分:8)

http://dhilipsiva.blogspot.in/2012/10/xcode-warning-no-rule-to-process-file.html

该列表应该只有.m文件。我不知道我们是否可以在其中放入.c文件,但不应该有任何其他文件类型。我喜欢一些开发人员甚至将Javascript文件拖入已编译的源代码中。如果您遇到同样的问题,则应该从编译源列表中 remove any non '.m' 文件。假设你在Xcode4上运行,你就是这样做的。

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

快乐黑客。