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

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

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


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

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

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

  1. マルチデバイス ターゲットを追加し、ターゲット プラットフォームをアクティブ化します。
  2. ターゲット プラットフォームが 64 ビット Windows(開発用システムが 32 ビット Windows)、macOS、iOS の場合、接続プロファイルを作成します
  3. macOS、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 です。Mac での出力ディレクトリは、環境変数 dylib_path で制御します。
  • iOS デバイス - 32 ビットおよび 64 ビット プラットフォームでは、パッケージと(静的)ライブラリのファイル拡張子は .a です。
  • Android プラットフォームでは、パッケージと(動的)ライブラリのファイル拡張子は .so です。

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

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

file.bpl(C:\Users\Public\Documents\Embarcadero\Studio\21.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\21.0\Bpl\Win64)

file.dll

<ファイル>.lib

macOS

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

libfile.dylib

file.a

iOS デバイス - 32 ビット

file.a in C:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp\iOSDevice32

該当なし

該当なし

iOS デバイス - 64 ビット

file.a in C:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp\iOSDevice64

該当なし

該当なし

Android

file.a(C:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp\Android)

該当なし

該当なし

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

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 または OSX32 など)に配置されます。

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

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

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

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

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

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

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

有効

.lib.obj

.a.o

無効

.a.o

.lib.obj

関連項目