• 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: command line building - I'm pissed at Apple [10.4]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: command line building - I'm pissed at Apple [10.4]


  • Subject: Re: command line building - I'm pissed at Apple [10.4]
  • From: Shawn Erickson <email@hidden>
  • Date: Wed, 4 May 2005 09:56:11 -0700


On May 4, 2005, at 9:29 AM, Dieter Oberkofler wrote:

i'm just finishing porting an application that natively runs under windows from OS 9 using codewarrior to the os x platform using xcode 1.5. i have just ordered a new power mac g5 (running tiger and xcode 2.0) and i'm starting to be a little afraid in reading that under os x an application only seems to run when build for a specific version of os x and that everything is sdk/framework dependent even when shipping the production version. as a newby to xcode i would very much be interested in the following basic questions:

1) should an application build under xcode 1.5 not run on all version of os x (10.0 up to tiger)? if not, is this intended and are there workarounds?

It depends... but in general you can use the SDKs to target the oldest version of Mac OS X you want your application to run on and it will run their and on later versions of Mac OS X (careful of deprecated APIs but none have been removed fully that I know).


The earliest SDK available is for 10.2.8. It you want to support earlier systems you will actually have to build on those systems using whatever tool chain works on those systems (some version of project builder).

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


Also note the following from <file:///Developer/About Xcode% 20Tools.pdf>...
Compatibility of Built Binaries
The GCC 4.0 compiler is the default compiler for Xcode, and has a different C++ ABI than either the GCC
3.3 compiler (the default compiler for Xcode 1.x), the GCC 3.1 compiler (the default compiler for the
December 2002 release of the Developer Tools) or the GCC 2.95 compiler (the default compiler for earlier
releases of the Developer Tools). C++ ABI differences include changes to name mangling, exception
handling, and class layout and alignment.
The GCC compiler’s ABI (Application Binary Interface) for C++ programs has been changing as the
compiler’s support for the full C++ language has become more complete. As a result of these changes,
all of your C++ code, including libraries and frameworks, must be built with the same compiler. Note that
this is not necessary for C or Objective C code.
IOKit-based device drivers built with the GCC 3.3 or GCC 4.0 compilers will run on Mac OS X v10.2
(Jaguar), Mac OS X v10.3 (Panther), and Mac OS X v10.4 (Tiger) systems. However, you must use GCC
2.95.2 if you write kernel extensions that need to run on Mac OS X v10.1.



2) to be portable between different operating systems, my application uses several 3rd party libraries from oracle, providence software and other vendors that actually have certified their libraries (frameworks) for xcode 1.5. is xcode 2.0 intended to run with xcode 1.5 libraries as well or not ?

It depends on how the libraries got built, one big gotcha is if they are C++ libraries (expose their API via C++ or Objective-C++).


3) how can i ship my application (bundle application) in a way that contains all the needed libraries (frameworks) and/or install them automatically?

Research application bundle layout (frameworks directory) and Xcode copy phases.


<http://developer.apple.com/documentation/CoreFoundation/Conceptual/ CFBundles/Concepts/BundleAnatomy.html>

-Shawn _______________________________________________
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: 
 >Re: command line building - I'm pissed at Apple [10.4] (From: Dieter Oberkofler <email@hidden>)

  • Prev by Date: RE: XCode 2.0 and OCVS Help
  • Next by Date: Cross-development (was: command line building)
  • Previous by thread: Re: command line building - I'm pissed at Apple [10.4]
  • Next by thread: Cross-development (was: command line building)
  • Index(es):
    • Date
    • Thread