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

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 Mac OS X.

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 Mac OS X:

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 OS X 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 OS X-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 OS X.

$(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 OS X.

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 OS X)

  • -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\19.0\include\osx";"C:\Program Files (x86)\Embarcadero\Studio\19.0\include\osx\crtl";"C:\Program Files (x86)\Embarcadero\Studio\19.0\include\osx\rtl"
-I"C:\Program Files (x86)\Embarcadero\Studio\19.0\dinkumware"
-L"C:\Program Files (x86)\Embarcadero\Studio\19.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