• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Embedding framework, pbxcp No such file or directory
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Embedding framework, pbxcp No such file or directory


  • Subject: Re: Embedding framework, pbxcp No such file or directory
  • From: Jeffrey Wilson <email@hidden>
  • Date: Thu, 20 Dec 2007 15:46:26 -0500

On Dec 20, 2007, at 12:14 PM, Chris Espinosa wrote:
On Dec 20, 2007, at 7:31 AM, Jeffrey Wilson wrote:

The project's framework search path is setup as follows:
$(HOME)/Library/Frameworks /System/Library/Frameworks /Library/ Frameworks $(FRAMEWORK_SEARCH_PATHS)


How do I tell the copy frameworks build phase to use something like $(HOME)/Library/Frameworks rather than $(PROJECT_DIR)/../../../ Library/Frameworks? Another way of putting it, why is the copy phase not using the framework location as found in the search path?

Because the Framework Search Path is only used by the compiler for searching for headers and by the linker for searching for link libraries; the Copy Files path is content-agnostic and doesn't "search" for its operands, it requires specific references.


It looks like you just have too many ".." items in your path. It's looking in /Library/Frameworks, not /Users/withdrawn/Library/ Frameworks.

Right. There are two extra "../" which pushes the path back to root. The extra ".." are due to my two extra subdirectories for my project as opposed to that for another user.


One way to make this easier is to use Source Trees. Have everybody on the team define the same variable in Source Trees (e.g. SDL_FRAMEWORK_DIR) and set it to the directory that contains their copy of the SDL framework, then in the project set its reference to Relative to Source Tree and pick that one. That way everybody can put it wherever they want, and as long as you all have the same variable set to the appropriate value on each system, your project will work on everybody's configuration.

I understand what you mean by adding a Source Tree entry (I think). Ah! I probably added the frameworks and chose "Relative to project". Now this makes some sense. I found links about it:
http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeUserGuide/Contents/Resources/en.lproj/01_40_tasks_add_files/chapter_7_section_4.html#/ /apple_ref/doc/uid/TP40002666-BBCDFECB


and

http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeUserGuide/Contents/Resources/en.lproj/01_40_tasks_add_files/chapter_7_section_6.html#/ /apple_ref/doc/uid/TP40002666-CHDDEFFF

Anyhow, this seems to be pretty dumb behavior, but there is not a much better way of handling different directory structures on each persons' machine (unless the Copy phase actually recognized relative locations...).

So, I add a Source Tree with Setting Name = USER_FRAMEWORKS, Display Name = My_Frameworks, and Path = /Users/jeff/Library/Frameworks. However, when I go to add the frameworks back to my project, I do not get any new "Reference" pulldown options. If I Get Info on each of the frameworks (after adding them as Default), then I can change the Path Type to Relative to My_Frameworks.

Hitting some linker errors now, but I can hopefully figure them out. Thanks Chris.

Jeff

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >Embedding framework, pbxcp No such file or directory (From: Jeffrey Wilson <email@hidden>)
 >Re: Embedding framework, pbxcp No such file or directory (From: Chris Espinosa <email@hidden>)

  • Prev by Date: Re: How can I repair a nib file harmed by IB 3?
  • Next by Date: Re: noob
  • Previous by thread: Re: Embedding framework, pbxcp No such file or directory
  • Next by thread: DTrace and C++ function
  • Index(es):
    • Date
    • Thread