On Dec 6, 2007, at 8:15 AM, Jerry Krinock wrote: I have a Cocoa application project: Basic SDK Path = /Developer/SDKs/MacOSX10.4u.sdk MAC_OSX_DEPLOYMENT_TARGET_i386 = 10.4 MAC_OSX_DEPLOYMENT_TARGET_ppc = 10.3
Features requiring Mac OS 10.4 API are compiled in a separate bundle and loaded programatically.
Everything was working fine before I started building with Xcode 3.0.
Now, when I run otool -l on the product's executable, I get, at the end:
Load command 27 cmd LC_LOAD_DYLIB cmdsize 92 name /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData (offset 24) time stamp 2 Wed Dec 31 16:00:02 1969 current version 92.1.0 compatibility version 1.0.0
which causes it to not launch when run in 10.3.9. (Actually, many things are different when I compare the new otool -l report with the old one from my Xcode 2.5-built project. There are also new Load commands for "AppKit" and "ApplicationServices".)
Two things:
1) The build setting is MACOSX_DEPLOYMENT_TARGET, not MAC_OSX_DEPLOYMENT_TARGET. Annoying but true. The build settings you're using for 10.3 and 10.4 apparently have no effect, and in Tiger you didn't notice because the default is lower than 10.4. In Xcode 3.0 the default is 10.5 so the ignored settings matter.
2) Xcode 3.0 has actual UI support (and a different notation) for per-architecture build settings, see:
There's also a UI for setting this which is easier and clearer.
• Select the "Mac OS X Deployment Target" build setting • From the Action (gear) button at the bottom of the inspector, choose "Add Per-Architecture Setting For > " and the desired architecture • Repeat for each architecture with a value different than the default.
You might want to delete the unused and ignored custom build settings once you have it set up correctly.
Chris
|