Re: Embedding framework, pbxcp No such file or directory
Re: Embedding framework, pbxcp No such file or directory
- Subject: Re: Embedding framework, pbxcp No such file or directory
- From: Chris Espinosa <email@hidden>
- Date: Thu, 20 Dec 2007 09:14:18 -0800
On Dec 20, 2007, at 7:31 AM, Jeffrey Wilson wrote: I created a Xcode project for some open source software, and committed the project files to their CVS server. Everything builds fine for me. However, other people are having problems getting the project to build properly using the *.xcodeproj that I committed. Here is the error:
/Developer/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp -exclude .DS_Store -exclude CVS -exclude .svn -strip-debug-symbols -resolve-src-symlinks /Users/withdrawn/elc/macosx/../../../../Library/Frameworks/SDL_net.framework /Users/withdrawn/elc/macosx/build/Release/EternalLands.app/Contents/Frameworks pbxcp: SDL_net.framework: No such file or directory pbxcp: SDL_net.framework: No such file or directory
Hmm.... This is obviously happening during the copy frameworks build phase. My frameworks for embedding are kept in ~Library/Frameworks/. I keep my elc repository in ~/programming/EternalLands, and the ../../../../Library/Frameworks/SDL_net.framework would be correct for my installation. However, it is clearly not appropriate for this "withdrawn" user.
The project's framework search path is setup as follows: $(HOME)/Library/Frameworks $(SDKROOT)/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.
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.
Chris |
_______________________________________________
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