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 Anwendungen in der IDE genauso wie native Win32-Anwendungen in RAD Studio.

Grundvoraussetzungen 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 die Zielplattform.
  2. Legen Sie ein Verbindungsprofil an, wenn Sie eine Anwendung für 64-Bit-Windows (auf einem Entwicklungs-PC mit 32-Bit-Windows), macOS oder iOS erstellen.
    • 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 Sie Anwendungen für macOS, iOS (Geräte oder Simulator) oder Android erstellen, dann müssen Sie RAD Studio ein SDK hinzufügen. Siehe Hinzufügen von SDKs für macOS oder iOS oder Hinzufügen von Android-SDKs.

Für die Anwendungsentwicklung für lokale 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 aber in eine 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 auf 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 Zielplattfrom konzipiert sind:

  • Auf 32-Bit- und 64-Bit-Windows haben Packages und Bibliotheken dieselbe Dateierweiterung .bpl- bzw. .dll-Dateien.
  • Auf macOS haben Packages und (dynamische) Bibliotheken die Dateierweiterung .dylib. Das Ausgabeverzeichnis auf dem Mac wird von der Umgebungsvariable dylib_path gesteuert.
  • Auf der Plattform iOS-Gerät - 32 Bit und 64 Bit haben Packages und (statische) Bibliotheken die Dateierweiterung .a.
  • Auf der Plattform Android 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\21.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\21.0\Bpl\Win64

Datei.dll

Datei.lib

macOS

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

libDatei.dylib

Datei.a

iOS-Gerät - 32 Bit

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

N/V

N/V

iOS-Gerät - 64 Bit

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

N/V

N/V

Android

Datei.a in C:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp\Android

N/V

N/V

Beispiele für das aktuelle Release finden Sie unter: C:\Users\Public\Documents\Embarcadero\Studio\21.0\Samples. Die Beispiele finden Sie auch mit Start | Programme | Embarcadero RAD Studio Sydney | Beispiele.

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 Datenamen und Dateierweiterungen; nur die Pfade sind unterschiedlich. Beim Speichern einer Komponente, eines Package oder einer Bibliothek wird die Ausgabedatei in ein plattformspezifisches Verzeichnis, wie z. B. Win64 oder OSX32 platziert.

Behandlung von geräteübergreifenden Dateien in der Projektverwaltung

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

Wenn die Zielplattform beispielsweise Win32 (die Vorgabe) ist, erzeugen Befehle in der Projektverwaltung (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 macOS-Zielplattform)
    • .lib (statische Bibliothek für die 32-Bit- und 64-Bit-Windows-Zielplattformen)
  • Objektdateien:
    • .o (Objektdatei für die macOS-Zielplattform)
    • .obj (Objektdatei für die 32-Bit- und 64-Bit-Windows-Zielplattformen)

Die Projektverwaltung aktiviert und deaktiviert die Dateien folgendermaßen:

Zustand 32-Bit-Windows 64-Bit-Windows macOS

Aktiviert

.lib .obj

.a .o

Deaktiviert

.a .o

.lib .obj

Siehe auch