|
|
Log In | Not a Member? |
Contact ADC |
| < Previous PageNext Page > |
Xcode 2.1から、クロス開発機能を使用して、Universal Binary、すなわちインテルベースのMacintoshコンピュータ用とPowerPCベースのMacintoshコンピュータ用の両方のオブジェクトコードを含んだ実行可能ファイルを作成できます。Universal Binary作成の詳細については、『Universal Binary Programming Guidelines, Second Edition』を参照してください。
インテルベースのMacintosh用のコードをコンパイルするには、GCC 4.0を使ってコンパイルし、Mac OS X 10.4 (Universal) SDKをターゲットとする必要があります。Mac OS X v10.4以降が必要になる可能性がある場合は、同じクロス開発設定を使ってどちらのアーキテクチャ向けにもビルドすることができます。しかし、PowerPCベースのMacintoshコンピュータ向けにMac OS Xの以前のバージョンをサポートしたい場合があります。
Xcodeはいくつかのビルド設定について、アーキテクチャごとのバリアントを提供しており、インテルベースのビルドとPowerPCベースのビルドに対して異なるクロス開発設定を指定することができます。 これらのバリアントは、BUILD_SETTING_($arch)の形式をとります(BUILD_SETTINGはビルド設定の通常の名前、($arch)はビルド設定が適用されるアーキテクチャを示すサフィックス)。i386サフィックスは、インテルベースのMacintoshコンピュータ用のアーキテクチャを示し、ppcサフィックスはPowerPCアーキテクチャを示します。たとえば、インテル用にビルドするときにXcodeがGCC 4.0を使用するように指定するには、GCC_VERSION_i386ビルド設定を4.0に設定します。Table 3-1に、クロス開発に関連したアーキテクチャごとのバリアントのあるビルド設定の一覧をリストアップしています。Xcodeにおけるビルド設定の詳細については、『Xcode 2.2 User Guide』を参照してください。
ビルド設定 | 説明 |
|---|---|
| 開発対象のSDK。 |
| デプロイメントターゲット。ソフトウェアを実行できるMac OS Xの最も古いバージョンを指定します。 |
| ビルド時に使用するGCCのバージョン。 |
注: デフォルトでは、ターゲットおよびプロジェクトのインスペクタの「ビルド」パネルには、各ビルド設定の一般的なバージョンだけが含まれており、アーキテクチャ固有のサフィックスは付いていません。追加したいアーキテクチャごとのバリアントについては、ビルド設定テーブルに手動でエントリを作成する必要があります。Xcodeにおけるビルド設定の追加の詳細については、『Xcode 2.2 User Guide』を参照してください。
これらのアーキテクチャごとの設定を使用して、Universal Binaryと、インテルベースのMacintoshコンピュータ上のMac OS X v10.4向けのビルドを作成するだけでなく、PowerPC用の古いバージョンのMac OS Xも併せてサポートする単独のターゲットを作成できます。プロジェクトまたはターゲットを設定するための基本手順は、“「クロス開発のためのプロジェクトの設定」”で解説している手順と同じです。
ターゲットSDKを選びます。
インテルベースとPowerPCベースのどちらのビルドに対してもMac OS X v10.4をターゲットとするには、「ターゲットSDKを使用したクロス開発」メニューから「Mac OS X 10.4 (Universal)」 を選びます。
注: インテルのビルドとPowerPCのビルドに異なるターゲットSDKを指定できます。たとえば、PowerPC用にビルドするときには、コードがMac OS X v10.3.9以降のMac OS Xのバージョンの機能を使用しないことを保証したい場合などが考えられます。
これを行うには、ターゲットまたはプロジェクトのインスペクタの「ビルド」パネルで、SDKROOT_ppcとSDKROOT_i386のビルド設定に対応する新しいエントリをテーブルに追加します。SDKROOT_ppcを、Mac OS X 10.3.9 SDKを指すように設定し、SDKROOT_i386を、Mac OS X 10.4 Universal SDKを指すように設定します。各SDKまでのフルパスを入力できるほか、単に「Finder」から「値」カラムへ、SDKフォルダをドラッグすることもできます。
デプロイメントターゲットを設定します。
PowerPC用Mac OS X v10.4よりも前のMac OS Xのバージョンをサポートするには、インテルベースのビルドとPowerPCベースのビルドに別々のデプロイメントOSバージョンを指定することができます。これを行うには、MACOSX_DEPLOYMENT_TARGETビルド設定のアーキテクチャごとのバリアントを使用します。
ターゲットまたはプロジェクトのインスペクタで、MACOSX_DEPLOYMENT_TARGET_ppcとMACOSX_DEPLOYMENT_TARGET_i386のビルド設定のエントリを追加します。
MACOSX_DEPLOYMENT_TARGET_i386を10.4に設定します。
MACOSX_DEPLOYMENT_TARGET_ppcを、PowerPC用にサポートしたい最も古いシステムのバージョンに設定します。たとえば、Mac OS X v10.2以降をサポートするには、MACOSX_DEPLOYMENT_TARGET_ppcを10.2に設定します。
適切なコンパイラを選択します。
前述のように、Mac OS X v10.4およびインテルベースのMacintoshコンピュータ向けにコンパイルするには、GCC 4.0を使用する必要があります。ただし、GCC 4.0とGCC 3.3のコンパイラの間で、C++ ABIに変更があるため、Mac OS X v10.3.9よりも前のMac OS Xのバージョンを対象とする場合は、GCC 4.0を使ってC++コードまたはObjective-C++コードをビルドすることはできません。
Mac OS X 10.3.9以降が必要になる可能性がある場合は、インテルベースとPowerPCベースのMacintoshコンピュータのどちらに対しても、同じバージョンのGCCを使ってビルドすることができます。ただし、以前のバージョンのMac OS Xをサポートし、なおかつC++コードまたはObjective-C++コードを使用する必要がある場合は、プラットフォームごとに異なるバージョンのGCCコンパイラを使ってビルドする必要があります。これを行うには、GCC_VERSIONビルド設定のアーキテクチャごとのバリアントを使用します。
ターゲットまたはプロジェクトのインスペクタの「ビルド」パネルで、ビルド設定テーブルに、GCC_VERSION_ppcおよびGCC_VERSION_i386ビルド設定のエントリを追加します。
GCC_VERSION_ppcを3.3に設定します。
GCC_VERSION_i386を4.0に設定します。
注: Xcodeにはまた、LDおよびLDPLUSPLUSビルド設定に対応する、アーキテクチャごとのビルド設定バリアントもあります。これにより、PowerPC用とインテル用のビルドに対して異なるリンカのバージョンを指定することができます。
| < Previous PageNext Page > |
Last updated: 2005-11-09
|
Get information on Apple products.
Visit the Apple Store online or at retail locations. 1-800-MY-APPLE Copyright © 2007 Apple Inc. All rights reserved. | Terms of use | Privacy Notice |