マルチデバイス アプリケーションのコンパイルとビルド

提供: RAD Studio
移動先: 案内検索

マルチデバイス アプリケーション:インデックス への移動


一般に、IDE でマルチデバイス アプリケーションをビルドやコンパイルすることは、RAD Studio でネイティブ Win32 アプリケーションをビルドやコンパイルすることと同じです。

マルチデバイス アプリケーションの前提条件

32 ビット Windows 以外のプラットフォームを対象にするマルチデバイス アプリケーションをコンパイルやビルドする前に、次のとおり、マルチデバイス アプリケーションを構成する必要があります。

  1. マルチデバイス ターゲットを追加し、ターゲット プラットフォームをアクティブ化します。
  2. 開発 PC や macOS、iOS ではなく、リモート PC 上で稼働する 32 ビットまたは 64 ビット Windows をターゲットとしている場合、接続プロファイルを作成します。
  3. macOS X、iOS (デバイスまたはシミュレータ)、Android がターゲットである場合、SDK を RAD Studio に追加します。 「macOS または iOS SDK の追加」または「Android SDK の追加」を参照してください。

ローカルの 32 ビットおよび 64 ビット Windows アプリケーションの開発では、この構成を行う必要はありません。ただし、リモートの 32 ビットおよび 64 ビット Windows ターゲット プラットフォームに対して、この構成を行うと、プラットフォーム アシスタント(デバッグの簡易化)と配置マネージャ(アプリケーション配置の簡易化)を使用できます。

マルチデバイス ターゲットの出力ファイル

Win64 アプリケーションの出力ファイルは、Win32 アプリケーションの出力ファイルと同じ名前です。ただし、Win64 ファイルが出力されるディレクトリは、Win32 ファイルの場所と異なります。

Windows 以外をターゲット プラットフォームとするアプリケーションの出力ファイルは、大抵 Win32 ファイルと同じファイル名を持ちますが、ファイル拡張子はプラットフォーム固有のものになります。例えば、静的ライブラリ(Win32 や Win64 での .lib)は、macOS や iOS 用では .a ファイル拡張子となります。「RAD Studio によって生成されるファイルのファイル拡張子」を参照してください。

パッケージと共有ライブラリ

Delphi および C++Builder では、特定のターゲット プラットフォーム用のライブラリが生成されます。

  • 32 ビットおよび 64 ビット Windows では、パッケージのファイル拡張子は、.bpl で、ライブラリは .dll です。
  • macOS の場合、パッケージと(動的)ライブラリはファイル拡張子 .dylib となります(C++ は現在 macOS をサポートしていない点に注意してください)。Mac での出力ディレクトリは、環境変数 dylib_path で制御されます。
  • iOS デバイス - 64 ビットプラットフォーム パッケージや(静的)ライブラリはファイル拡張子 .a となります。
  • Android プラットフォームでは、パッケージと(動的)ライブラリのファイル拡張子は .so です。

IDE で使用する命名規則の要約を次の表で示します。

  プラットフォーム      パッケージ      動的ライブラリ      静的ライブラリ   
32 ビット Windows

file.bpl(C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl)

[プロジェクト オプション]の[Delphi コンパイラ]ページにある[パッケージの出力ディレクトリ]オプションを設定できます。

.dproj(C:\Users\<user>\Documents\Embarcadero\Studio\Projects\<プロジェクト名>.pas、.dfm(C:\Users\<user>\Documents\Embarcadero\Studio\Projects)


.exe, .rsm

(C:\Users\<user>\Documents\Embarcadero\Studio\Projects\projectname\Win32\Debug)

file.dll

<ファイル>.lib

64 ビット Windows

file.bpl(C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\Win64)

file.dll

<ファイル>.lib

macOS

bplfile.dylib(C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\OSX32)

libfile.dylib

file.a

iOS デバイス - 64 ビット

libfile.a (C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp\iOSDevice64 内)

file.a

libFile.a

Android

libfile.a (C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp\Android 内)

libFile.so

libFile.a

Linux 64 ビット

bplfile.so (C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp\Linux64 内)

libFile.so

該当なし

現在のリリースのサンプルは次の場所にあります: C:\Users\Public\Documents\Embarcadero\Studio\22.0\Samples。 サンプルは、次を使用しても利用可能です: [スタート|プログラム|Embarcadero RAD Studio Alexandria|サンプル]

32 ビット設計時パッケージが 64 ビット Windows アプリケーションに必要

IDE はネイティブ 32 ビット Windows アプリケーションです。したがって、IDE で 64 ビット Windows アプリケーションを設計するには、32 ビット Windows 版のすべての設計時コンポーネント、パッケージ、およびライブラリが必要です。設計時に IDE でコンポーネント、パッケージ、またはライブラリを使用するために、これらの 32 ビット版が必要です。ユーザーのアプリケーションが、実行時専用の特定コンポーネント、パッケージ、またはライブラリを使用する場合は、プロジェクトに 32 ビット版が必要ありません。

通常、IDE はプラットフォーム固有のフォルダにパッケージとライブラリを保存します。 macOS ファイル、iOS ファイル、Android ファイルのファイル拡張子は Windows 版と異なります。 ただし、RAD Studio IDE で作成された 32 ビット Windows 版と 64 ビット Windows 版のパッケージ、ライブラリ、およびコンポーネントは、ファイル名と拡張子が同じで、パスが異なるだけです。 コンポーネント、パッケージ、またはライブラリを保存するとき、出力ファイルは、プラットフォーム固有のディレクトリ(Win64 または Android64)に配置されます。

[プロジェクト マネージャ]がマルチデバイス ファイルを処理する方法

プロジェクト ウィンドウ では、現在アクティブであるターゲット プラットフォームで決定されるとおり、プロジェクトに対して、適切なプラットフォーム固有のファイル タイプが選択できます。 同時に、プロジェクト マネージャでは、現在のプロジェクトでアクティブではない ターゲット プラットフォームに関連づけられたファイル タイプは無効になります。

たとえば、ターゲット プラットフォームが Win32 であるとき、[プロジェクト マネージャ]のコマンド(ビルド、コンパイル、クリーンなど)では、.lib.obj などの Win32 ファイルが生成されます。

さらに別の例として、マルチプラットフォームの C++ プロジェクトに次の種類のファイルが含まれることを仮定します。

  • 静的ライブラリ:
    • .a (iOS 64 ビット ターゲット プラットフォーム用の静的ライブライ)
    • .lib(32 ビット および 64 ビット Windows ターゲット プラットフォーム用の静的ライブラリ)
  • オブジェクト ファイル:
    • .o (iOS 64 ビット ターゲット プラットフォーム用のオブジェクト ファイル)
    • .obj(32 ビット および 64 ビット Windows ターゲット プラットフォーム用のオブジェクト ファイル)

[プロジェクト マネージャ]では次のとおりファイルの生成を切り替えられます。

状態 32 ビット Windows 64 ビット Windows 64 ビット iOS

有効

.lib.obj

.a.o

無効

.a.o

.lib.obj

関連項目