BCCOSX.EXE - macOS 用 C++ コンパイラ
C++ コンパイラのコマンドライン インターフェイス への移動
BCCOSX.EXE
は、macOS の C++ コンパイラ BCCOSX に対するコマンドライン インターフェイスです。
目次
BCC32.EXE と関連が深い BCCOSX.EXE
概して、BCCOSX.EXE の利用は、BCC32.EXE と同じですが、次の macOS 用のプラットフォーム固有のコマンドライン オプションが異なります:
--framework
および-F
--sysinc
(インクルード パス)--syslib
(ライブラリ パス)--sysroot
(システム ルート)-txxx
(ターゲット オプション)
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」を参照)。
インクルード パスは、以下のオプションで制御します。
オプション |
インクルード パスの種類 |
説明 |
---|---|---|
|
標準 |
標準インクルード ファイルの検索パスを設定します。 |
|
リモート |
システム(リモート)インクルード ファイルの検索パスを設定します。 |
リモート パスは、標準パスの後で処理されます。
BCCOSX.EXE では、インクルード指令は #include </...>
(山かっこ、スラッシュで始まるパス)という形式で、$(SYSROOT)
の場所を参照することを想定しています。
共通で使用されるインクルード パスを次の表に示します。
インクルード パスの種類 |
パス |
説明 |
---|---|---|
標準 |
|
このディレクトリには、RAD Studio 付属の C/C++ RTL ヘッダー ファイル(.h)が含まれます。 これらのファイルの一部には、 |
|
このディレクトリには、Delphi RTL マシン生成ヘッダー ファイル(.hpp)が含まれます。 | |
リモート |
|
このディレクトリには、Windows にキャッシュされた C/C++ RTL の macOS ヘッダー ファイルが含まれます。 |
RAD Studio からインクルード パスを設定するには、「C++ コンパイラ ディレクトリと条件定義」(標準インクルード パスの場合)および「SDK マネージャ」(SDK インクルード パスの場合)を参照してください。
ライブラリ パス(-L
、--syslib
)
オプション |
インクルード パスの種類 |
説明 |
---|---|---|
|
標準 |
ライブラリ ファイルの検索パスです。 |
|
リモート |
ライブラリ ファイルの検索 パスは |
標準ライブラリ パスとリモート ライブラリ パスは指定順に処理されます。したがって、ユーザーのライブラリ検索パスを制御するために、コンパイラに対する -L
および --syslib
オプションを任意の順序で指定できます。
システム ルート(--sysroot
)
SYSROOT
は Windows マシン上のディレクトリで、リモート/ターゲット マシンの論理ルートを表わします。このディレクトリは、リモート/ターゲット マシンにある、ファイルやシンボル情報がキャッシュされる場所です。SYSROOT
値は、インクルード ファイルとライブラリ ファイルを検索するために BCCOSX.EXE で使用します。
SYSROOT
値を変更するには、--sysroot
オプションを使用し、ローカル キャッシュをコピーする対象の開発用 PC にあるディレクトリを指定します。
SYSROOT
パスを RAD Studio から設定するには、「SDK マネージャ」を参照してください。
マルチデバイス アプリケーションのターゲット オプション(--txxx
)
BCCOSX.EXE では、コンパイル ターゲットを指定する、次のコンパイラ オプションをサポートします(-txxx
コマンドライン オプション)。
-txxx
オプションのコマンドライン ヘルプを表示するには、> bccosx -h -t
と入力します。
オプション | 説明 |
---|---|
|
ターゲットの実行可能ファイルを指定する |
|
|
|
DLL(共有ライブラリ)がターゲット(macOS では |
|
マルチスレッド アプリケーションがターゲット |
|
パッケージがターゲット |
-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 の呼び出し元である、現在のディレクトリに配置する必要があります。
関連項目
- BCCOSX
- XLINK.EXE - macOS リンカ
- macOS のアプリケーション開発
- BCC32.EXE - C++ 32 ビット コマンドライン コンパイラ
- BCC64.EXE - C++ 64 ビット Windows コンパイラ
- BCCIOSARM.EXE - 32 ビット iOS デバイス用 C++ コンパイラ
- BCCIOSARM64.EXE - 64 ビット iOS デバイス用 C++ コンパイラ
- BCCAARM.EXE - Android 用 C++ コンパイラ
- コマンド ラインからの macOS C++ コンソール アプリケーションのコンパイルとリンク
- "Hello World" macOS コンソール アプリケーション
- マルチデバイス アプリケーション:インデックス
- macOS GNU Compiler Collection