7

Hi I'm getting an xcode "no such file or directory" for:

#import "Three20Core.h"

I also note when I'm typing in the #import statement it recognises, and helps autocomplete, the "Three20Core.h" file, however when I compile I get the error?

This is the main library file header for the Three20 library (from Facebook). So I've got the three20 directory at the same level as my app directory. In the Xcode application target build settings:

  1. Header Search Paths - "$(BUILT_PRODUCTS_DIR)/../../../three20" and recursive, and
  2. User Header Search Paths - same as above.

Any fault finding advice?

bneely
  • 9,083
  • 4
  • 38
  • 46
Greg
  • 34,042
  • 79
  • 253
  • 454

4 Answers4

5

See an expanded version of this answer here: Xcode 4 Archive Version Unspecified

I've found many issues with Xcode 4 when it comes to complex project structures.

  1. Create a group in your project called "Indexing"
  2. Drag the header files to this group
  3. When asked to select a target uncheck ALL targets

This has solved most of my Xcode 4 issues.

Related questions:

Community
  • 1
  • 1
Richard Stelling
  • 25,607
  • 27
  • 108
  • 188
  • I'll have a look into this rjstelling - I must admit I don't really understand what these suggestions are aiming to do and how they might help...should I be concerned about this? – Greg Apr 12 '11 at 14:08
  • by the way - any specific comments on "I also note when I'm typing in the #import statement it recognises, and helps autocomplete, the "Three20Core.h" file, however when I compile I get the error?". That is, should this be the case? Or asking another way, is it the case the XCode uses separate config for auto-completion as opposed to build? – Greg Apr 12 '11 at 14:09
  • Xcode 4 has a completely new indexing system, my guess is it still has some bugs. I.e. in your case finding the "Three20Core.h" file (presumably via `Header Search Paths`) but the pre-processor (also new) can't. Adding the headers to the project or workspace as an explicit reference seems to solve this. – Richard Stelling Apr 12 '11 at 14:31
  • Creating the new group and dragging the files totally fixed it for me. (for a different header file missing, but similar problem). Very odd behavior. – lyngbym Sep 14 '11 at 02:36
  • Thank you! I was pulling my hair out trying to fix this, and your solution helped! – TotoroTotoro Jun 14 '13 at 17:51
3

Issue was my lack of understanding of the change in the Xcode 4 build system over Xcode 3. All that I had to do was set header paths to:

 "$(BUILT_PRODUCTS_DIR)/../three20"
 "$(BUILT_PRODUCTS_DIR)/../../three20"

per http://three20.info/article/2011-03-10-Xcode4-Support

bneely
  • 9,083
  • 4
  • 38
  • 46
Greg
  • 34,042
  • 79
  • 253
  • 454
0

I just had another possible cause:

After searching the whole folders, I found that there is another header file with the same file name but wrong path (and therefore it is missing to xcode). So make sure you don't have a duplicated header that has wrong path.

Lei Zhang
  • 500
  • 4
  • 15
0

Have you followed this steps? http://three20.info/article/2010-10-06-Adding-Three20-To-Your-Project

Yorxxx
  • 526
  • 4
  • 9
  • thats what I've been trying to do, unfortunately it's was written for the xcode 3 IDE. Although there's a migration guide it still doesn't quite allow me to get there from a 'trained monkey' perspective :) Trying to go through some doco/videos on the xcode/C build system at the moment. Know how to develop a table view app, but still don't fully understand xcode build system – Greg Apr 12 '11 at 14:06