BCCOSX.EXE - macOS 用 C++ コンパイラ

提供: RAD Studio
移動先: 案内検索

C++ コンパイラのコマンドライン インターフェイス への移動


BCCOSX.EXE は、macOS の C++ コンパイラ BCCOSX に対するコマンドライン インターフェイスです。

BCC32.EXE と関連が深い BCCOSX.EXE

概して、BCCOSX.EXE の利用は、BCC32.EXE と同じですが、次の macOS 用のプラットフォーム固有のコマンドライン オプションが異なります:

2 種類のコンパイラは、1 つのコード ベースを共有しています。したがって、BCCOSX.EXE クロス コンパイラ用コマンド構文は、BCC32.EXE 用コマンドライン構文と違いはほとんどありません。

コマンドライン構文

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

コマンドライン コンパイラ名、各オプション、ファイル名は、スペースで区切ります。各オプションの前には、ハイフン(-)またはスラッシュ(/)を付けます。以下はその例です。

bccosx -Ic:\code\hfiles

また、オプションを構成ファイル(.CFG)に指定することもできます。これについては、後のセクション「BCCOSX.CFG ファイル」で説明します。

BCCOSX.EXE を使用して、.O ファイルを XLINK に渡すこともできます。 BCCOSX.EXE はアセンブラ コードも生成できますが(-S オプションを参照)、macOS 用アセンブラ コードは生成できません。

詳細情報を確認するための BCCOSX.EXE コマンドライン ヘルプ

[RAD Studio コマンド プロンプト]ウィンドウで BCCOSX.exe コマンドライン ヘルプを表示するには、-h コマンドライン オプションを指定します。

bccosx -h

特定オプションとグループ(-Axxx、-Vxxx など)のヘルプの表示

各複数文字オプション -Axxx (言語の互換性と標準への準拠)や -Vxxx (下位互換性)などについてさらに詳しい情報を取得できます。

これを実行するには、-h コマンド ライン オプションをオプション グループの最初の文字に使用します(-Axxx オプションを指定するには -A を使用するなど)。 BCCOSX.EXE によりオプションの指定セットに対するヘルプ トピックのみが表示されます(-Axxx-Vxxx-Wxxx など)。

たとえば、-Axxx (言語の互換性と標準への準拠)オプションの説明を表示するには、-h-A コマンド ライン オプションを使用します。

C:\>bccosx -h -A



インクルード パス(-I--sysinc

BCCOSX.EXE でのインクルード指令の解決は、標準インクルード パスと続くリモート インクルード パスで指定ファイルを検索することによって実現します。

リモート パスは $(SYSROOTからの相対パスです。

$(SYSROOT) は Windows のディレクトリで、macOS マシンの論理ルートを表わします。 この場所にコンパイルとリンクに必要なヘッダー ファイルとダイナミック ライブラリがコピー(キャッシュ)されます(「PAClient.exe」を参照)。

インクルード パスは、以下のオプションで制御します。

オプション

インクルード パスの種類

説明

-I

標準

標準インクルード ファイルの検索パスを設定します。

--sysinc

リモート

システム(リモート)インクルード ファイルの検索パスを設定します。$(SYSROOT) が指定パスの先頭に付加されます。

リモート パスは、標準パスの後で処理されます。

BCCOSX.EXE では、インクルード指令は #include </...>(山かっこ、スラッシュで始まるパス)という形式で、$(SYSROOT) の場所を参照することを想定しています。

共通で使用されるインクルード パスを次の表に示します。

インクルード パスの種類

パス

説明

標準

$(BDS)\include\osx\crtl

このディレクトリには、RAD Studio 付属の C/C++ RTL ヘッダー ファイル(.h)が含まれます。 これらのファイルの一部には、$(SYSROOT)\usr\include の C/C++ ヘッダー ファイルがあります。 詳細については、「macOS C RTL」を参照してください。

$(BDS)\include\osx\rtl

このディレクトリには、Delphi RTL マシン生成ヘッダー ファイル(.hpp)が含まれます。

リモート

$(SYSROOT)\usr\include

このディレクトリには、Windows にキャッシュされた C/C++ RTL の macOS ヘッダー ファイルが含まれます。

RAD Studio からインクルード パスを設定するには、「C++ コンパイラ ディレクトリと条件定義」(標準インクルード パスの場合)および「SDK マネージャ」(SDK インクルード パスの場合)を参照してください。

ライブラリ パス(-L--syslib

オプション

インクルード パスの種類

説明

-L

標準

ライブラリ ファイルの検索パスです。

--syslib

リモート

ライブラリ ファイルの検索 パスは $(SYSROOTからの相対パスです。

標準ライブラリ パスとリモート ライブラリ パスは指定順に処理されます。したがって、ユーザーのライブラリ検索パスを制御するために、コンパイラに対する -L および --syslib オプションを任意の順序で指定できます。

システム ルート(--sysroot

SYSROOT は Windows マシン上のディレクトリで、リモート/ターゲット マシンの論理ルートを表わします。このディレクトリは、リモート/ターゲット マシンにある、ファイルやシンボル情報がキャッシュされる場所です。SYSROOT 値は、インクルード ファイルとライブラリ ファイルを検索するために BCCOSX.EXE で使用します。

SYSROOT 値を変更するには、--sysroot オプションを使用し、ローカル キャッシュをコピーする対象の開発用 PC にあるディレクトリを指定します。

SYSROOT パスを RAD Studio から設定するには、「SDK マネージャ」を参照してください。

マルチデバイス アプリケーションのターゲット オプション(--txxx

BCCOSX.EXE では、コンパイル ターゲットを指定する、次のコンパイラ オプションをサポートします(-txxx コマンドライン オプション)。

-txxx オプションのコマンドライン ヘルプを表示するには、> bccosx -h -t と入力します。

オプション 説明
  • -t

ターゲットの実行可能ファイルを指定する

  • -tC
  • -tCD
  • -tCDR
  • -tCDV
  • -tCR
  • -tCV
  • コンソール アプリケーションがターゲット
  • コンソール DLL がターゲット
  • ダイナミック RTL を使用するコンソール DLL がターゲット
  • VCL を使用するコンソール DLL がターゲット
  • ダイナミック RTL を使用するコンソール アプリケーションがターゲット
  • VCL を使用するコンソール アプリケーションがターゲット
  • -tD

DLL(共有ライブラリ)がターゲット(macOS では .dylib

  • Posix で -tM
    (または Windows で -WM

マルチスレッド アプリケーションがターゲット

  • -tP

パッケージがターゲット

-t オプションの一部は、32 ビット Windows 用 BCC32.EXE でサポートされていません。

BCCOSX.CFG ファイル

BCCOSX.EXE 用の構成ファイルには、次のクロス コンパイラ用設定が含まれます。

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

独自の BCCOSX.CFG ファイルを作成し、コンパイルに使用できます。カスタムの BCCOSX.CFG ファイルは、BCCOSX.EXE の呼び出し元である、現在のディレクトリに配置する必要があります。

関連項目