Re: QuartzCore.framework on 10.3.9?
Re: QuartzCore.framework on 10.3.9?
- Subject: Re: QuartzCore.framework on 10.3.9?
- From: John Mikros <email@hidden>
- Date: Tue, 20 Feb 2007 11:35:44 -0800
I think QuartzCore gets installed on 10.3.9 if you install QuickTime 7.
When linking to a whole framework (as opposed to weak linking to a
subset of symbols that may not exist in a framework) you have to pass
-weak_framework <framework> to the linker.
That said, I had a problem doing this with QuartzCore specifically.
My app was weak linked to QuartzCore, but on 10.3.9 (with QuartzCore
not installed) it would crash at the first call of any Cocoa
function. This happened to be [[NSAutoreleasePool alloc] init], but
I believe it didn't matter which Cocoa call it was. If I removed any
references to QuartzCore, then I wouldn't crash at the aforementioned
Cocoa call.
My solution ended up being to manually import QuartzCore symbols
using CFBundleGetFunctionPointerForName() when I was running on 10.4
or later, and this worked great for me since I was only using a dozen
or so symbols.
Good luck
-john
On Feb 20, 2007, at 10:46 AM, Mark Munz wrote:
I've run into a bizarre scenario that I'm trying to figure out so I'm
not bitten again.
I have a project with:
SDKROOT_PPC = /Developer/SDKs/MacOSX10.4u.sdk
MACOSX_DEPLOYMENT_TARGET_PPC = 10.3
I also had:
OTHER_LDFLAGS_ppc = -framework QuartzCore
Now, I would have expected that because QuartzCore is part of the
system and the deployment target is 10.3, it would automatically be
weak linked. That appears not to be the case (and I'm planning to
write an enhancement request because I think it should).
But the bizarre part comes in that my testing worked fine under 10.3.9
because apparently there was a QuartzCore framework installed. I'm not
sure how it got installed. I've received intermittent complaints from
10.3.9 users, so some of them have it installed and some don't.
Did Apple really retroactively install a public QuartzCore
framework in 10.3.9?
Outside of Xcode actually doing the smart thing (by weak linking any
system frameworks not part of the deployment target), how can I insure
it only has the frameworks that actually came with 10.3.9, other than
manually having to examine the frameworks constantly?
It seems like this can only makes backwards compatibility testing more
difficult/time consuming than it already is.
Thanks.
--
Mark Munz
unmarked software
http://www.unmarked.com/
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40blizzard.com
This email sent to 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