OK, this boils down to a major paradigmatic difference between CodeWarrior and Xcode architecture. (It's been a while since I've had to handle CW transition issues, so I need to swap all that information back in from the archive).
CodeWarrior's compiler was integrated into the IDE, which had some major advantages (integration) and disadvantages (difficulty using multiple processors). Xcode from the start was based on the Unix model of process invocation, which has disadvantages (process startup time, less integration) and advantages (screaming compile times on 8-way machines).
The two differences that are important here are that a) gcc doesn't have a model to do a recursive header search (it must be instructed to look in specific paths) and b) gcc is invoked through the classic argc/argv mechanism, which has a hard upper limit.
Quite simply: you have too many directories in your Recursive Search Path, and they don't all fit in the space Unix allows for invoking the compiler command. So it's dropping some, which means the compiler can't find your headers.
You'll be far better served by removing the recursive header search paths and adding only the paths to the directories where your headers actually are. Remember, you don't need to add search paths to your own code's headers, just to external libraries you're linking to.
Chris |