title: Xcode/clang: Why do some, not all, of my headers give "warning: no rule to process file xxx for architecture arm7"
body: <p>I am building an iOS 5 app with ARC using clang on Xcode 4.2/Lion. Good practice for me is to try to get rid of as many warnings as possible but I'm lost on this one. The app has quite a few classes, but a limited number of their header files (8 or 9) give linker warnings like this:</p>
  
  <pre><code>warning: no rule to process file '$(PROJECT_DIR)/TKMyClass.h' of type sourcecode.objj.h for architecture arm7`
  </code></pre>
  
  <p>I don't see any significant commonalities across these headers: a couple are 3rd party OSS code; the rest are all my own. One is a plain-C header file (with no corresponding .c) containing nothing but constants, <code>#defines</code> and enums; a couple are <code>UIView</code> and <code>UIViewController</code> subclasses created with Xcode's templates; the rest are ordinary Obj-C classes, some of which inherit from <code>NSObject</code> and some of which don't. All (of my classes) were created from scratch within the project at various times. Both older and newer classes give no warnings. </p>
  
  <p>My project uses a mix of C++, Objective-C++ and Objective C classes. The warning-generating classes here are mostly Objective C (their implementations are in .m files) but the two 3rd party classes are implemented in Objective C++ (.mm).</p>
  
  <p>The project otherwise builds fine and runs in the simulator and on iDevices.</p>
  
  <p>To my shame I'm not particularly familiar with the project settings pages in Xcode. I expect the solution is contained in there somewhere but I'm not sure where to start without breaking things.</p>