Xcode/clang:为什么我的标题中的一些(而不是全部)给出了"警告:没有规则来处理文件xxx for architecture arm7"

Tim*_*Tim 7 xcode objective-c linker-warning ios

我正在使用Xcode 4.2/Lion上的clang构建一个带有ARC的iOS 5应用程序.对我来说,良好的做法是尽量摆脱尽可能多的警告,但我迷失在这一点上.该应用程序有相当多的类,但有限数量的头文件(8或9)给出了这样的链接器警告:

warning: no rule to process file '$(PROJECT_DIR)/TKMyClass.h' of type sourcecode.objj.h for architecture arm7`
Run Code Online (Sandbox Code Playgroud)

我没有看到这些标题之间存在任何重要的共性:一对是第三方OSS代码; 其余的都是我自己的.一个是普通的C头文件(没有相应的.c),只包含常量#defines和枚举; 一对夫妇是UIViewUIViewController子类与Xcode的模板创建的; 其余的是普通的Obj-C类,其中一些继承自NSObject,有些则没有.所有(我的班级)都是在项目中不同时间从头开始创建的.旧版和新版都没有发出警告.

我的项目使用了C++,Objective-C++和Objective C类的混合.这里的警告生成类主要是Objective C(它们的实现是在.m文件中),但是这两个第三方类是用Objective C++(.mm)实现的.

该项目否则建立良好,并在模拟器和iDevices上运行.

令我感到羞耻的是,我对Xcode中的项目设置页面并不是特别熟悉.我希望解决方案包含在某处,但我不知道从哪里开始而不会破坏.

Joe*_*Joe 20

这意味着您不小心添加了要编译的头文件.您需要进入项目Build Phases并从该Compile Sources部分中删除所有头文件.