BCCOSX.EXE: Der C++-Compiler für macOS

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Befehlszeilenoberflächen von C++-Compilern


BCCOSX.EXE ist eine Befehlszeilenoberfläche für BCCOSX, dem C++-Compiler für macOS.

BCCOSX.EXE und BCC32.EXE sind eng miteinander verknüpft

Im Allgemeinen ist die Verwendung von BCCOSX.EXE identisch mit der Verwendung von BCC32.EXE, außer den folgenden plattformspezifischen Befehlszeilenoptionen für macOS:

Die beiden Compiler verwenden eine gemeinsame Codebasis, daher unterscheidet sich die Befehlszeilensyntax für BCCOSX.EXE nur geringfügig von der Befehlszeilensyntax für BCC32.EXE.

Befehlszeilensyntax

bccosx [option [option...}] <filename> [<filename>...]

Der Name des Befehlszeilen-Compilers, alle Optionen und Dateinamen müssen voneinander durch Leerzeichen getrennt sein. Stellen Sie jeder Option entweder einen Bindestrich (–) oder einen Schrägstrich (/) voran. Zum Beispiel:

bccosx -Ic:\code\hfiles

Sie können auch Optionen in Konfigurationsdateien (.CFG) festlegen, die im Abschnitt BCCOSX.CFG-Datei beschrieben werden.

Mit BCCOSX.EXE können Sie .O-Dateien an XLINK senden. BCCOSX.EXE kann auch Assembler-Code (siehe die Option -S) erzeugen, aber ein Assembler für macOS wird nicht unterstützt.

In der Hilfe für die BCCOSX.EXE-Befehlszeile finden Sie detaillierte Informationen

Um die Hilfe für die BCCOSX.EXE-Befehlszeile im Befehlsfenster anzuzeigen, geben Sie die Befehlszeilenoption -h ein.

bccosx -h

Anzeigen der Hilfe für bestimmte Optionsgruppen, wie -Axxx und -Vxxx

Sie können detaillierte Informationen zu mehrbuchstabigen Optionen, wie -Axxx (Sprachkompatibilität und Standardkomplianz) und -Vxxx (Abwärtskompatibilität) anzeigen.

Verwenden Sie dazu die Befehlszeilenoption -h mit dem Anfangsbuchstaben der Optionsgruppe (z. B. -A für die -Axxx-Optionen). BCC32.EXE zeigt nur die Hilfethemen für die angegebene Optionsgruppe an (z. B. für -Axxx, -Vxxx oder -Wxxx).

Um beispielsweise eine Beschreibung für die Optionen -Axxx (Sprachkompatibilität und Standardkomplianz) anzuzeigen, geben Sie die Befehlszeilenoptionen -h und -A ein:

C:\>bccosx -h -A


Include-Pfade (-I, --sysinc)

BCCOSX.EXE löst die Include-Direktiven durch die Suche nach den angegebenen Dateien in den Standard-Include-Pfaden gefolgt von den Remote-Include-Pfaden auf.

Remote-Pfade sind relativ zu $(SYSROOT).

$(SYSROOT) ist ein Windows-Verzeichnis, das das logische Stammverzeichnis auf dem macOS-Computer repräsentiert. An diesem Speicherort werden Header-Dateien und dynamische Bibliotheken für die Compilierung und das Linken kopiert (zwischengespeichert) (siehe PAClient.exe).

Die Include-Pfade können mit den folgenden Optionen gesteuert werden:

Option

Include-Pfadtyp

Beschreibung

-I

Standard

Legt den Standardsuchpfad für Include-Dateien fest.

--sysinc

Remote

Legt den Systemsuchpfad für (Remote-)Include-Dateien fest. $(SYSROOT) wird dem angegebenen Pfad vorangestellt.

Remote-Pfade werden nach der Verarbeitung der Standardpfade verarbeitet.

BCCOSX.EXE setzt voraus, dass Include-Direktiven der Form #include </...> (spitze Klammern, Pfade beginnen mit einem Schrägstrich) auf $(SYSROOT) verweisen.

Häufig verwendete Include-Pfade sind in der folgenden Tabelle beschrieben:

Include-Pfadtyp

Pfad

Beschreibung

Standard

$(BDS)\include\osx\crtl

Dieses Verzeichnis enthält die von RAD Studio bereitgestellten C/C++-RTL-Header-Dateien (.h). Einige dieser Dateien enthalten C/C++-Header-Dateien aus $(SYSROOT)\usr\include. Weitere Informationen finden Sie unter C-RTL für macOS.

$(BDS)\include\osx\rtl

Dieses Verzeichnis enthält von der Delphi-RTL erzeugte Header-Dateien (.hpp).

Remote

$(SYSROOT)\usr\include

Dieses Verzeichnis enthält die unter Windows zwischengespeicherten C/C++-RTL-Header-Dateien für macOS.

Informationen zum Festlegen der Include-Pfade aus RAD Studio finden Sie unter C++-Compiler Verzeichnisse und Bedingungen (für Standard-Include-Pfade) und SDK-Manager (für SDK-Include-Pfade).

Bibliothekspfade (-L, --syslib)

Option

Include-Pfadtyp

Beschreibung

-L

Standard

Suchpfad für Bibliotheksdateien.

--syslib

Remote

Suchpfade für Bibliotheksdateien sind relativ zu $(SYSROOT).

Standard-Bibliothekspfade und Remote-Bibliothekspfade werden in der angegebenen Reihenfolge verarbeitet. Sie können daher die Bibliothekssuchpfade durch eine verschachtelte Übergabe der Optionen -L und --syslib an den Compiler steuern.

Systemstamm (--sysroot)

$(SYSROOT) ist ein Verzeichnis auf dem Windows-Computer, das das logische Stammverzeichnis auf dem Remote-/Zielcomputer repräsentiert. In diesem Verzeichnis werden Dateien und/oder symbolische Informationen vom Remote-/Zielcomputer zwischengespeichert. Mit dem SYSROOT-Wert sucht BCCOSX.EXE nach den Include- und Bibliotheksdateien.

Mit der Option --sysroot und Angabe des Verzeichnisses auf dem Entwicklungs-PC, in das die lokale Zwischenspeicherung kopiert werden soll, können Sie den Wert für SYSROOT ändern.

Informationen zum Festlegen des SYSROOT-Pfades aus RAD Studio finden Sie unter SDK-Manager.

Zieloptionen für geräteübergreifende Anwendungen (--txxx)

BCCOSX.EXE unterstützt die folgenden Compiler-Optionen für die Angabe des Ziels einer Compilierung (die Befehlszeilenoptionen -txxx):

Um die Befehlszeilenhilfe für die -txxx-Optionen anzuzeigen, geben Sie Folgendes ein: > bccosx -h -t.

Option Beschreibung
  • -t

Ausführbare Zieldatei angeben

  • -tC
  • -tCD
  • -tCDR
  • -tCDV
  • -tCR
  • -tCV
  • Konsolenanwendung


  • Konsolen-DLL


  • Konsolen-DLL, die die dynamische RTL verwendet
  • Konsolen-DLL, die die VCL verwendet
  • Konsolenanwendung, die die dynamische RTL verwendet
  • Konsolenanwendung, die die VCL verwendet
  • -tD

DLL (gemeinsam genutzte Bibliothek) (.dylib unter macOS)

  • -tM unter Posix
    (oder -WM unter Windows)

Multithread-Anwendung

  • -tP

Package

Einige der -t-Optionen werden von BCC32.EXE für 32-Bit-Windows nicht unterstützt.

BCCOSX.CFG-Datei

Die Konfigurationsdatei für BCCOSX.EXE enthält die folgenden Einstellungen für plattformübergreifende Compiler:

-I"C:\Program Files (x86)\Embarcadero\Studio\23.0\include\osx";"C:\Program Files (x86)\Embarcadero\Studio\23.0\include\osx\crtl";"C:\Program Files (x86)\Embarcadero\Studio\23.0\include\osx\rtl"
-I"C:\Program Files (x86)\Embarcadero\Studio\23.0\dinkumware"
-L"C:\Program Files (x86)\Embarcadero\Studio\23.0\lib\osx32\release"
--syslib=/usr/lib
--sysinc=/usr/include
-F/System/Library/Frameworks

Sie können eine eigene BCCOSX.CFG-Datei erstellen und sie für die Compilierung verwenden. Die benutzerdefinierte BCCOSX.CFG-Datei muss in das aktuelle Verzeichnis, aus dem BCCOSX.EXE aufgerufen wird, kopiert werden.

Siehe auch