• 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: Cross development with SDK 10.3.9 not compatible with 10.3.8
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Cross development with SDK 10.3.9 not compatible with 10.3.8


  • Subject: Re: Cross development with SDK 10.3.9 not compatible with 10.3.8
  • From: Chris Espinosa <email@hidden>
  • Date: Sat, 16 Jul 2005 08:58:06 -0700


On Jul 16, 2005, at 5:58 AM, Greg Hurrell wrote:

El 09/06/2005, a las 17:56, Chris Espinosa escribió:

Remember that the SDK is a ceiling, not a floor. If you just want to deploy to earlier systems, don't change your SDK; use the "Mac OS X Deployment Target" setting and set it to 10.3 or 10.2.

Can you clarify what you mean by "ceiling" and "floor" here?

Does "ceiling" mean that stuff built with the 10.3.9 SDK isn't meant to run on later versions of Mac OS X? (The stuff I compile with the 10.3.9 SDK does indeed seem to run on Tiger.)

Almost all code built for a given version of Mac OS X can run on later versions, due to backwards compatibility in the OS. There are a small number of exceptions. By "ceiling" I mean "can only use features introduced no later than that version." An app compiled against the 10.3.9 SDK cannot use features introduced in 10.4 that require the use of new API that's only in that version.


And seeing as we're talking about floors and ceilings, what is the relationship between all of this, the SDK setting and the following build settings?

MACOSX_DEPLOYMENT_TARGET
You define this build setting to declare the earliest version of Mac OS X you want your code to run on.
MAC_OS_X_VERSION_MAX_ALLOWED
AvailabilityMacros.h sets this preprocessor macro according to your SDK selection to the version of headers you're compiling against. You can use this to conditionalize code for specific OS versions.
MAC_OS_X_VERSION_MIN_REQUIRED
AvailabilityMacros.h sets this preprocessor macro according to your Deployment Target. It determines how your code is linked. Functions that are not exported by your Deployment Target but are defined in the headers of your SDK are weak-linked.

Please read "Cross-Development" for a good background on the whole mechanism.
http://developer.apple.com/documentation/DeveloperTools/Conceptual/ cross_development/index.html


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


  • Follow-Ups:
    • Re: Cross development with SDK 10.3.9 not compatible with 10.3.8
      • From: Bertrand Landry-Hetu <email@hidden>
References: 
 >Re: Cross development with SDK 10.3.9 not compatible with 10.3.8 (From: Greg Hurrell <email@hidden>)

  • Prev by Date: Re: Displaying Custom Data Types in Debugger
  • Next by Date: Re: Universal Binary that runs on 10.3.x and up on PPC and 10.4.1 and up on Intel
  • Previous by thread: Re: Cross development with SDK 10.3.9 not compatible with 10.3.8
  • Next by thread: Re: Cross development with SDK 10.3.9 not compatible with 10.3.8
  • Index(es):
    • Date
    • Thread