Compilieren und Erzeugen von geräteübergreifenden Anwendungen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Geräteübergreifende Anwendungen - Index


Im Allgemeinen erzeugen und compilieren Sie geräteübergreifende Anwendung in der IDE genauso wie Sie eine native Win32-Anwendung in RAD Studio erzeugen und compilieren.

Voraussetzungen für geräteübergreifende Anwendungen

Vor dem Erzeugen oder Compilieren einer geräteübergreifenden Anwendung für eine andere Plattform als 32-Bit-Windows müssen Sie Ihre geräteübergreifende Anwendung konfigurieren:

  1. Fügen Sie das geräteübergreifende Ziel hinzu und aktivieren Sie diese Zielplattform.
  2. Wenn Ihr Ziel 32-Bit- oder 64-Bit-Windows ist, das auf einem anderen Remote-PC als Ihrem Entwicklungs-PC, macOS oder iOS ausgeführt wird, erstellen Sie ein Verbindungsprofil.
    • Wenn ein Verbindungsprofil erforderlich ist, muss der Entwicklungs-PC auch mit dem Zielcomputer verbunden sein, auf dem der Platform Assistant ausgeführt wird.
  3. Wenn Ihr Ziel macOS, iOS (Gerät) oder Android ist, fügen Sie RAD Studio ein SDK hinzu. Siehe Hinzufügen eines macOS- oder iOS-SDK oder Hinzufügen eines Android-SDK.

Für die Anwendungsentwicklung für lokales 32-Bit- und 64-Bit-Windows ist diese Konfiguration nicht erforderlich. Wenn Sie diese Konfiguration allerdings für Remote-Zielplattformen für 32-Bit- und 64-Bit-Windows durchführen, können Sie den Platform Assistant (erleichtert das Debugging) und den Bereitstellungs-Manager (erleichtert die Bereitstellung von Anwendungen) verwenden.

Ausgabedateien für geräteübergreifende Ziele

Ausgabedateien für Win64-Anwendungen haben dieselben Namen wie Ausgabedateien für Win32-Anwendungen. Die Win64-Dateien werden jedoch in ein anderes Verzeichnis als die Win32-Dateien ausgegeben.

Ausgabedateien für Anwendungen, die nicht unter Windows als Zielplattform ausgeführt werden sollen, haben normalerweise dieselben Dateinamen wie Win32-Dateien, aber plattformspezifische Dateierweiterungen. Beispielsweise hat eine statische Bibliothek (.lib in Win32 und Win64) die Dateierweiterung .a für macOS und iOS. Siehe auch Erweiterungen von mit RAD Studio erzeugten Dateien.

Packages und gemeinsame Bibliotheken

Delphi und C++Builder erzeugen Bibliotheken, die für die jeweilige Zielplattform konzipiert sind:

  • Auf 32-Bit- und 64-Bit-Windows haben Packages und Bibliotheken dieselbe Dateierweiterung .bpl bzw. .dll.
  • Unter macOS haben Packages und (dynamische) Bibliotheken die Dateierweiterung .dylib (beachten Sie, dass C++ derzeit macOS nicht unterstützt). Das Ausgabeverzeichnis auf dem Mac wird von der Umgebungsvariable dylib_path gesteuert.
  • Auf den iOS-Gerät - 64 Bit-Plattformen haben Packages und (statische) Bibliotheken die Dateierweiterung .a.
  • Auf der Android-Plattform haben Packages und (dynamische) Bibliotheken die Dateierweiterung .so.

Die von der IDE verwendeten Namenskonventionen sind in der folgenden Tabelle zusammengefasst:

  Plattform      Package      Dynamische Bibliothek      Statische Bibliothek   
32-Bit-Windows

Datei.bpl in C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl

Sie können auf der Seite Delphi-Compiler des Dialogfeldes "Projektoptionen" mit der Option Package-Ausgabeverzeichnis ein Ausgabeverzeichnis angeben.

.dproj in C:\Users\<Benutzer>\Documents\Embarcadero\Studio\Projects\Projektname

.pas, .dfm in C:\Users\<Benutzer>\Documents\Embarcadero\Studio\Projects

.exe, .rsm in

C:\Users\<Benutzer>\Documents\Embarcadero\Studio\Projects\Projektname\Win32\Debug

Datei.dll

Datei.lib

64-Bit-Windows

Datei.bpl in C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\Win64

Datei.dll

Datei.lib

macOS

bplDatei.dylib in C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\OSX32

libDatei.dylib

Datei.a

iOS-Gerät - 64 Bit

libDatei.a in C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp\iOSDevice64

Datei.a

libDatei.a

Android

libDatei.a in C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp\Android

libDatei.so

libDatei.a

Linux 64 Bit

bplDatei.so in C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp\Linux64

libDatei.so

N/V

Beispiele für das aktuelle Release finden Sie unter: C:\Users\Public\Documents\Embarcadero\Studio\22.0\Samples. Um Beispiele zu suchen, können Sie auch Start | Programme | Embarcadero RAD Studio Alexandria | Beispiele verwenden.

32-Bit-Entwurfszeit-Packages sind für 64-Bit-Windows-Anwendungen erforderlich

Die IDE ist eine native 32-Bit-Windows-Anwendung. Daher müssen Sie, wenn Sie mit der IDE 64-Bit-Windows-Anwendungen entwerfen möchten, über die 32-Bit-Windows-Versionen aller Entwurfszeitkomponenten, Packages und Bibliotheken verfügen. Sie benötigen diese 32-Bit-Versionen für die Verwendung der Komponenten, Packages oder Bibliotheken in der IDE beim Entwurf. Wenn Ihre Anwendung eine bestimmte Komponente, ein Package oder eine Bibliothek nur zur Laufzeit verwendet, muss die 32-Bit-Version nicht in Ihrem Projekt vorhanden sein.

Die IDE speichert normalerweise Packages und Bibliotheken in plattformspezifischen Ordnern. Die macOS-, iOS- und Android-Dateien haben andere Dateierweiterungen als die Windows-Versionen. Aber 32-Bit- und 64-Bit-Windows-Versionen der von der RAD Studio-IDE erstellten Packages, Bibliotheken und Komponenten haben dieselben Dateinamen und Dateierweiterungen; nur die Pfade sind unterschiedlich. Beim Speichern einer Komponente, eines Packages oder einer Bibliothek wird die Ausgabedatei in ein plattformspezifisches Verzeichnis, wie z. B. Win64 oder Android64 platziert.

Behandlung von geräteübergreifenden Dateien in der Projektverwaltung

Das Projekte-Fenster aktiviert für Ihr Projekt die korrekten plattformspezifischen Dateitypen entsprechend der aktuell aktiven Zielplattform. Gleichzeitig werden im Projekte-Fenster die Dateitypen deaktiviert, die inaktiven Zielplattformen in dem aktuellen Projekt zugeordnet sind.

Wenn die Zielplattform beispielsweise Win32 (die Vorgabe) ist, erzeugen Befehle im Projekte-Fenster (wie Erzeugen, Compilieren, Bereinigen) Win32-Dateien, wie .lib und .obj.

Nehmen Sie als weiteres Beispiel an, dass Ihr Multiplattform-C++-Projekt die folgenden Dateitypen enthält:

  • Statische Bibliotheken:
    • .a (statische Bibliothek für die iOS-64-Bit-Zielplattform)
    • .lib (statische Bibliothek für die 32-Bit- und 64-Bit-Windows-Zielplattformen)
  • Objektdateien:
    • .o (Objektdatei für die iOS-64-Bit-Zielplattform)
    • .obj (Objektdatei für die 32-Bit- und 64-Bit-Windows-Zielplattformen)

Im Projekte-Fenster werden die Dateien folgendermaßen aktiviert und deaktiviert:

Status 32-Bit-Windows 64-Bit-Windows 64-Bit-iOS

Aktiviert

.lib .obj

.a .o

Deaktiviert

.a .o

.lib .obj

Siehe auch