• 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: Which SDK?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Which SDK?


  • Subject: Re: Which SDK?
  • From: Darkshadow <email@hidden>
  • Date: Thu, 22 Jun 2006 14:10:58 -0400


On Jun 21, 2006, at 5:25 PM, Chris Hanson wrote:

On Jun 21, 2006, at 12:04 PM, Syd Polk wrote:

On Jun 21, 2006, at 12:59 , Mark Wagner wrote:

The current options for SDKs are 10.2.8, 10.3.9, and 10.4 (Universal).
If I wanted to compile a program that runs on 10.3.0 and later, would
I choose the 10.3.9 SDK, or the 10.2.8 SDK?

It really depends on what you are trying to do. 10.3.0 < 10.3.9, so you would need to use the 10.2.8 SDK to run on 10.3.0 or later.

Actually, you should be able to target 10.3.0 and later using any of the SDKs. There are three build settings that are relevant to which operating system versions your application is targeting:


1.  GCC_VERSION defines the compiler to use.

2. SDKROOT defines the version of the headers to include and libraries to link against; in other words, it is the *maximum* Mac OS X version whose features your software will take advantage of.

3. MACOSX_DEPLOYMENT_TARGET defines the *minimum* Mac OS X version you want your software to run on; in other words, APIs released after the specified deployment target version will be weak-linked and must be checked for at run-time before they are called.

You can of course set these differently per-architecture.

Thus you can build against the 10.4 Universal SDK and target 10.3.0 just fine by setting your SDKROOT to 10.4u, your MACOSX_DEPLOYMENT_TARGET to 10.3, and your GCC_VERSION to 3.3. If you do this, any APIs defined later than 10.3 will be weak-linked and you will have to be careful not to call any APIs that do not exist in 10.3.0 in your code. But if you are careful, your code should run.

-- Chris

All true. I just wanted to add that if you want to build against 10.1.5, you'll need to download the "Xcode Legacy Tools" installer from the ADC site (and remember to set the gcc version used to 2.95.2). And to note, only 10.2 and later will use weak-linking; it wasn't available before 10.2.


Also, to be helpful, here's the link to the docs covering cross development:

<http://developer.apple.com/documentation/DeveloperTools/Conceptual/ cross_development/index.html>


Darkshadow (aka Michael Nickerson)



Attachment: smime.p7s
Description: S/MIME cryptographic signature

 _______________________________________________
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

References: 
 >Which SDK? (From: "Mark Wagner" <email@hidden>)
 >Re: Which SDK? (From: Syd Polk <email@hidden>)
 >Re: Which SDK? (From: Chris Hanson <email@hidden>)

  • Prev by Date: e: Removing items from a project using AppleScript
  • Next by Date: tab appears as line break.
  • Previous by thread: Re: Which SDK?
  • Next by thread: Debugging linked library?
  • Index(es):
    • Date
    • Thread