|
|
Log In | Not a Member? |
Contact ADC |
| < Previous PageNext Page > |
クロス開発は、Carbon APIで特に強力にサポートされており、CocoaでもCarbonほどではありませんがサポートされています。ただし、Objective-Cのダイナミックな性質を考えれば(たとえば、存在しないメソッドを呼び出したとしても、ランタイム例外が生じるだけで、リンクエラーは発生しません)、Cocoaアプリケーションにとってはクロス開発のサポートはCarbonでのサポートほど重要ではありません。
いくつかのOS Xフレームワーク、特にOpenGL、BSD、Kernelなど、Open Sourceプロジェクトから派生したフレームワークは、クロス開発のサポートに必要なアップルの利用可否判定マクロを使用していません。しかし、カーネル固有の呼び出しを行うコードは、それらの呼び出しをサポートするOSと密接に結び付いている可能性が大きく、クロス開発はそれほど有効でないと考えられます。OpenGLを扱うコードは、「Technical Q&A QA1188: OpenGL Entry Points and GetProcAddress」で解説されているメカニズムを使用できます。
QuickTimeには、Mac OS X v10.2以降のすべてのバージョンにインストールできる、独自に配布されているSDKがあります。このためQuickTimeの一部のAPIは、OSの特定のバージョンに縛られていません。さらに、QuickTime SDKをインストールすると、デベロッパSDKではなく、現在のオペレーティングシステムにインストールされます。デベロッパSDKには、QuickTimeの最新のソフトウェアアップデートのヘッダがインクルードされているとは限らないので、現時点ではSDKサポートとQuickTime SDKを同時に使用することはできません。
注: QuickTimeと、Core Audioなどのいくつかの関連コンポーネントは、特定のQuickTimeソフトウェアアップデートでどの機能が利用できるかを知ることができるように、利用可否判定マクロに対する拡張機能を提供しています。
以下に、クロス開発サポートに関するさらにいくつかの制限事項を示します。
弱いリンクは、Mac OS X v10.2よりも前のバージョンでは使用できません。このため、デプロイメントOSがMac OS X v10.1に設定されて開発されたソフトウェアは、以降のシステムバージョンの機能を使用していると、v10.1ではロードされません。
Mac OS Xバージョン10.1.5上で、バージョン10.2以降と同じコードをデプロイメントしたい場合は、10.1.5のコードを、独立の実行可能ファイルを持つ独立のプロジェクトとしてビルドする必要があります。選択SDKを10.1.5に設定し、Mac OS XのデプロイメントOSを10.1に設定します。このコードは、これらよりも新しいバージョンのOSの機能は使えません。
GCC 3.1の登場に伴い、Mac OS Xバージョン10.2では、C++コードのコンパイラ呼び出し規則が変更されたため、Mac OS X v10.1をターゲットとしてC++コードをコンパイルするには、GCC 2.95.2コンパイラを使用する必要があります。
注: Mac OS X v10.1.5 SDKとGCC 2.95.2は、現在ではXcode Toolsには含まれていません。Mac OS X v10.1用にビルドする場合は、Xcode 1.5またはそれ以前のSDKとコンパイラをインストールする必要があります。
弱いリンクに関するこのドキュメント内の追加情報については、“「ビルド」”、“「ロード」”、“「SDK設定がビルドにどのように影響するか」”、“「未定義の関数呼び出しの確認」”を参照してください。
Xcodeは、独自に依存関係分析を実行し、必要なビルドコマンドを直接呼び出すネイティブなビルドシステムを使用します。クロス開発SDKサポートは、このネイティブなビルドシステムを使用するターゲットを扱いますが、ネイティブのターゲットへとアップグレードされていないProject Builderのターゲットは扱えません。
プロジェクトインスペクタの「一般」パネルのSDK設定では、現在のビルド構成の設定を生かして、SDKの変更を行う事は出来ません。
クロス開発サポートは主に、ソフトウェアのデバッグビルドではなく、リリースビルドを対象とします。10.2.8またはそれ以前のSDKを選択した場合は、Xcodeの「ゼロリンク」や「修正して続ける」の機能は使用できません。これらの機能は、Mac OS X v10.3でのみ利用できる開発時フレームワークを必要とするためです。ただし、「ゼロリンク」を使用し、Jaguar上でデプロイメントするために、デバッグビルド構成ではなくリリースビルド構成でデプロイメントOSを10.2に設定できます。
| < 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 |