Re: The missing link
Re: The missing link
- Subject: Re: The missing link
- From: Kenny Leung <email@hidden>
- Date: Tue, 7 Nov 2006 19:22:48 -0800
Hi Philip.
Unfortunately, the framework is a binary from a third party. I have
tried using install_name_tool, like so:
install_name_tool -change '@executable_path/Eve3.framework/Versions/A/
Eve3' '/blah/Eve3.framework/Versions/A/Eve3' Eve3
but it seems to have no effect. It's also a mystery why creating an
application that links against this framework in /Library/Frameworks
works properly.
-Kenny
On Nov 7, 2006, at 6:25 PM, Philip Aker wrote:
On 2006-11-07, at 16:39:35, Kenny Leung wrote:
Hi All.
I'm having linking issues, and I must say that the linking of
frameworks on MacOSX continues to be a mystery to me.
I am working on an application with embedded frameworks (well,
multiple embedded frameworks). That all works properly, so I think
I'm doing everything right there. The problem comes in when I try
to use a third party framework from one of my frameworks. My
framework builds fine, but when the application builds, I get this
error:
ld: warning can't open dynamic library: @executable_path/
Eve3.framework/Versions/A/Eve3 referenced from:
I think the first part should look something like:
@executable_path/../Frameworks/
It's in the XCode documentation.
/Users/kenny/build/SYMROOT/Debug/QCPrivate.framework/QCPrivate
(checking for undefined symbols may be affected) (No such file or
directory, errno = 2)
ld: Undefined symbols:
_RBEFINDFIRST referenced from QCPrivate expected to be defined in
@executable_path/Eve3.framework/Versions/A/Eve3
_RBEHANDLE referenced from QCPrivate expected to be defined in
@executable_path/Eve3.framework/Versions/A/Eve3
/usr/bin/libtool: internal link edit command failed
I also included the framework into the application, but the result
is the same.
I have the framework installed in /Library/Frameworks, even though
otool shows that its install location is:
kenny@alumintel>otool -L Eve3
Eve3:
@executable_path/Eve3.framework/Versions/A/Eve3
(compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/CoreServices.framework/Versions/
A/CoreServices (compatibility version 1.0.0, current version 18.0.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/
IOKit (compatibility version 1.0.0, current version 275.0.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0,
current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0,
current version 88.1.2)
Now I'm pretty sure that the intall path is incorrect, but I'm not
sure what I can do to remedy this.
Another mystery is that I can successfully build an application
that links against the third part framework. It's just the
application linking against my framework linking against the third
party framework that breaks.
As always, help is greatly appreciated.
Philip Aker
email@hidden
_______________________________________________
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