编译警告:没有规则可以处理体系结构i386的文件


245

如何解决此警告?

[WARN]警告:对于体系结构i386,没有规则可处理类型为sourcecode.objj.h的文件'$(PROJECT_DIR)/MyApp/MessageCell.h'


它还说它正在尝试将您的头文件编译为来自Objective-J的sourcecode.objj.h(它也使用.h文件作为头文件),您是否安装了Cappuccino?
themarketka

Answers:


576

单击您的项目,并检查“构建阶段”选项卡中是否没有此文件。通常没有头文件应留在这里。清理并重新构建它,它应该可以工作!


1
我在那里有一些头文件。只是好奇,为什么标题不应该在那里?
Sheehan Alam

30
因为这是将要编译的源文件的列表,并且通常您已经在<file> .m中包含了<file> .h
Giuseppe

1
每当我创建一个新类时,我的XCode都会自动将头文件添加到构建阶段。我不知道为什么,有人知道为什么会这样吗?当前,每次创建新类时,都需要从构建阶段中手动删除头文件。
Bocaxica

1
我可能会补充说,.h文件可能会在构建阶段出现(本来不应该出现),因为.m文件的名称(错误地)是不同的。
阿里

完全有道理...我最初是将文件创建为.cpp,然后将其重命名为.h
ddavison 2014年


17

我们可以简单地按照以下步骤解决此问题: -一些.md.mdown .h文件包含在编译源代码
步骤1)选择项目导航
步骤2)选择您的项目
步骤3)选择您的targetStep
步骤4)选择Build PhasesStep
步骤5)移动我们不希望编译器从“ 编译源”到“ 副本捆绑资源”的文件

检查一下


3

如果您从cocoapod收到此警告,则需要确保s.source_files已正确设置.podspec

例如,我最初在我的这一行中包含了所有文件 .podspec

s.source_files = "MyUIElements/**/*"

我收到了关于Pod中某些字体文件的编译警告。您可以控制显示在BuildPhases-> CompileSources关于Pod消耗的文件,如下所示:

s.source_files = "MyUIElements/**/*.swift", "MyUIElements/**/*.h"

1
还是s.source_files = "Sources**/*.{h,m,swift}"
hstdt

0

我的问题was't头文件,因为根据Target> Build Phases> Compile Resources没有发现任何.h files的开始。系统正在抱怨其他文件。我点击了此链接该链接基本上表示删除系统正在抱怨的文件,但我却将其拖到Copy Bundle Resources

搜索文件的最简单方法是使用右上角的过滤器:

在此处输入图片说明

以下是链接的说明:

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.