Gesichtspunkte für geräteübergreifende C++-Anwendungen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Gesichtspunkte für geräteübergreifende Anwendungen

Verfügbare C/C++-Header-Dateien

RAD Studio stellt separate C/C++-Header-Dateien für verschiedene Zielplattformen bereit. Diese Dateien befinden sich im Standardsuchpfad $(BDS)\include.

Informationen zur Verwendung von Header-Dateien aus einem SDK-Suchpfad finden Sie unter Remote-Pfadeintrag hinzufügen oder Remote-Pfadeintrag bearbeiten. Sie können Ihre SDKs unter Tools > Optionen > Umgebungsoptionen > SDK-Manager verwalten.

Für Windows

Die Header-Dateien für 32-Bit-Windows und 64-Bit-Windows befinden sich im Ordner $(BDS)\include\windows.

Unterverzeichnis in
$(BDS)\include\windows
Beschreibung
   \crtl C/C++-RTL-Header-Dateien (.h). Weitere Informationen finden Sie unter Referenz zur C-Laufzeitbibliothek.
   \fmx Vom Computer mit FireMonkey erzeugte Header-Dateien (.hpp)
   \rtl Vom Computer mit der Delphi-RTL erzeugte Header-Dateien (.hpp)
   \sdk Header-Dateien (.h) aus Microsoft Windows SDK
   \vcl Vom Computer mit der VCL erzeugte Header-Dateien (.h und .hpp)

Für macOS

Die Header-Dateien für macOS befinden sich auf dem Entwicklungs-PC im Verzeichnis $(BDS)\include\osx.

Unterverzeichnis in
$(BDS)\include\osx
Beschreibung
   \fmx Vom Computer mit FireMonkey erzeugte Header-Dateien (.hpp)
   \rtl Vom Computer mit der Delphi-RTL erzeugte Header-Dateien (.hpp).

Für iOS

Die Header-Dateien für iOS befinden sich auf dem Entwicklungs-PC im Verzeichnis $(BDS)\include\ios.

Unterverzeichnis in
$(BDS)\include\ios
Beschreibung
   \crtl C/C++-RTL-Header-Dateien (.h). Weitere Informationen finden Sie unter iOS-C-RTL.
   \fmx Vom Computer mit FireMonkey erzeugte Header-Dateien (.hpp)
   \rtl Vom Computer mit der Delphi-RTL erzeugte Header-Dateien (.hpp).

Für Android

Die Header-Dateien für Android befinden sich auf dem Entwicklungs-PC im Verzeichnis $(BDS)\include\android.

Unterverzeichnis in
$(BDS)\include\android
Beschreibung
   \crtl C/C++-RTL-Header-Dateien (.h). Weitere Informationen finden Sie unter Android-C-RTL.
   \fmx Vom Computer mit FireMonkey erzeugte Header-Dateien (.hpp)
   \rtl Vom Computer mit der Delphi-RTL erzeugte Header-Dateien (.hpp).

Framework-Verfügbarkeit auf unterschiedlichen Plattformen

Plattform Delphi RTL
(nicht identisch mit der C/C++-RTL)
FireMonkey VCL
32-Bit-Windows
Checkmark.svg
Checkmark.svg
Checkmark.svg
64-Bit-Windows
Checkmark.svg
Checkmark.svg
Checkmark.svg
64-Bit-iOS
Checkmark.svg
Checkmark.svg
Android
Checkmark.svg
Checkmark.svg
Linux
Checkmark.svg

Verwenden von Frameworks

iOS und Android

Die Optionen für BCCIOSARM64/BCCAARM und LD für iOS- und Android-Frameworks sind in der folgenden Tabelle beschrieben:

Tool Option Beschreibung
BCCIOSARM64 und BCCAARM C++-Compiler für 64-Bit-iOS-Geräte und Android -isysroot Gibt den Stammpfad für das iOS-SDK und das Android-NDK an. Normalerweise %IOS_SDK_ROOT% oder %ANDROID_NDK_ROOT%.
BCCIOSARM64 C++-Compiler für 64-Bit-iOS-Geräte -F Gibt den Framework-Pfad an. Normalerweise %IOS_SDK_ROOT%\System\Library\Frameworks.
LD für BCCIOSARM64 64-Bit-iOS-Geräte -syslibroot Gibt den Speicherort des logischen Stammverzeichnisses an. Das logische Stammverzeichnis ist ein Verzeichnis auf Ihrem Entwicklungs-PC (Windows), das das Stammverzeichnis für das iOS-SDK darstellt.
LD für BCCAARM Android --sysroot Gibt den Speicherort des logischen Stammverzeichnisses an. Das logische Stammverzeichnis ist ein Verzeichnis auf Ihrem Entwicklungs-PC (Windows), das das Stammverzeichnis für das Android-SDK darstellt.
LD -framework Gibt ein Framework an, mit dem gelinkt werden soll. Beispielsweise linkt -framework Foundation Ihre Anwendung mit dem Foundation-Framework.3

Auf der Seite Projekt > Optionen > C++-Compiler > Verzeichnisse und Bedingungen der IDE können Sie mit der Projektoption "Framework-Stammverzeichnisse" Verzeichnisse definieren, die dem Framework-Include-Pfad hinzugefügt werden sollen.

Die String-Literale char16_t und wchar_t für iOS und Android

In macOS und iOS ist char16_t kein Äquivalent zu wchar_t (wie in Windows):

  • In Windows sind wchar_t und char16_t Doppelbyte-Zeichen.
  • In iOS und Android ist wchar_t dagegen ein 4-Byte-Zeichen.

Zum Deklarieren von UTF-16-Konstanten-Strings müssen Sie daher unter Windows entweder das Präfix L oder das Präfix u verwenden, unter iOS und Android aber das Präfix u.

Beispiel für Windows:
UnicodeString(L"Text"), UnicodeString(u"Text")

Beispiel für iOS und Android:

UnicodeString(u"Text")

Die Verwendung des Präfixes L für String-Literale unter iOS und Android ist aber nicht falsch. In diesem Fall werden UTF-32-Konstanten-Strings in UTF-16-Strings umgewandelt.

Aus Portabilitätsgründen sollten Sie das Makro _D zum Schreiben von Konstanten-Strings verwenden, denen entsprechend das Präfix L oder u vorangestellt wird. Beispiel:
UnicodeString(_D("Text"))

Informationen über mobile Plattformen finden Sie unter Auflösen von Linker-Warnungen zu String-Literalen.

Themen

Siehe auch