Clang 拡張 C++ コンパイラのコマンドライン インターフェイス

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

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


Clang 拡張 C++ コンパイラのコマンドライン インターフェイスは、お互いとても似ています。 このトピックでは、それらすべてのコンパイラに当てはまる情報を取り上げます。

Clang 拡張 C++ コンパイラのコマンドライン オプション

メモ: コマンド ラインで Clang 拡張 C++ コンパイラを使用すると、予期しない結果になることがあります。 ただし、IDE で使用できる Clang 拡張 C++ コンパイラ オプションについては、実装時にテスト済みです。 詳細については、以下のトピックを参照してください。

Clang 拡張コンパイラは互いに非常に似ており、コマンドライン オプションの大半は共通です。 Clang の機能のサブセットが RAD Studio には統合されており、それらの一部は、[プロジェクト オプション]ダイアログ ボックスで利用可能です。

コマンド ラインでの実行

コマンド ラインで Clang 拡張 C++ コンパイラを呼び出す場合は、以下のように、ドライバを介して行うことをお勧めします。

<compiler> -c test.cpp

または

<compiler> -tWCV myApplication.cpp

この場合、Clang 拡張 C++ コンパイラは、以下のコマンドライン パラメータがデフォルトで有効になった状態で実行されます。

Clang の使用経験が豊富で、ドライバを介さずに Clang 拡張 C++ コンパイラを使用する場合は、最初のオプションとして -cc1 を渡して、処理を手動で行いすべてのオプションを自分で完全/厳密に管理することをコンパイラに明示しなければなりません。 この場合、オプションが自動的に挿入されることはなく、上記のコマンドライン パラメータを手動で指定する必要があります。

エラー通知オプション

スイッチ 説明
--warn-common 共通シンボルの重複について警告します。
--warn-unresolved-symbols 未解決のシンボルを警告として通知します。
--error-unresolved-symbols 未解決のシンボルをエラーとして通知します。

#include パスとルックアップ

Clang 拡張 C++ コンパイラでは、以下のような 3 つの異なるヘッダー/ソース パスをサポートしています。

  • -isystem は、コンパイラでインクルードされるシステム ヘッダーについてのものです。このパスで見つかったヘッダーの警告は出力されません。
  • -I はサードパーティから提供されるヘッダーについてのものです。
  • -idirafter は、-I または -isystem で指定されたパスが検索された後で検索されるパスについてのものです。パスの先頭に '=' 文字が付いている場合、この文字は -sysroot で指定された値に置き換わります。
  • -iquote はユーザー独自のソース ファイルやヘッダーについてのものです。名前のとおり、このパスは引用符付きの指令(#include "file")にのみ使用されます。指定された file が見つからない場合は、あたかも #include <file> という指令であったかのように、-I-isystem で指定されたパス内でファイルが検索されます。

詳細は、「#include」を参照してください。

Delphi ランタイム システムとのリンク

デフォルトでは、ターゲットを -t コマンドライン スイッチを使用して指定していない場合、Clang 拡張 C++ コンパイラは Delphi ランタイム システムとリンクします。 たとえば、BCCAARM.EXE を使用する場合:

コマンド 説明

bccaarm file.cpp

アプリケーションは、Delphi ランタイム システムとリンクするコンソール アプリケーションとしてビルドされます。

bccaarm -tC file.cpp

アプリケーションは、Delphi ランタイム システムとリンクしないコンソール アプリケーションとしてビルドされます。

bccaarm -tF file.cpp

アプリケーションは FireMonkey アプリケーションとしてビルドされます。

並列コンパイルの使用

コマンドラインで並列コンパイルを有効にするには、-jobs=<N> コマンドライン オプションを使用します。

使用するサブプロセスの数を指定するには、数字をコマンドライン オプションに追加します。たとえば、サブプロセスを 2 つ使用する場合には、--jobs=2 を使用します。お使いのプロセッサのコアの数より多いサブプロセス数を選択することはできません。

なるべく多くサブプロセスを使用するには、--jobs=0 を使用します。

並列コンパイルは、以下のコマンドライン オプションと一緒に使用することはできません。

コンパイラ ヘルプの表示

コマンドライン インターフェイスのヘルプを表示するには、--help スイッチを指定してターゲット コンパイラのコマンドライン インターフェイスの実行可能ファイルを実行します。以下に例を示します。

bcc64 --help

-cc1 スイッチと --help スイッチを使用すると、コマンドライン インターフェイスを使ってコンパイラに渡すことができるスイッチを表示することができます。以下に例を示します。

bcc64 -cc1 --help
メモ: これらは、[コンパイラに渡す追加オプション]([プロジェクト|オプション...|C++ コンパイラ|拡張 からの [その他のオプション]にある)で使用できるスイッチ群です。

依存情報の生成

デフォルトでは、Clang 拡張 C++ コンパイラのコマンドライン インターフェイスは、-sys-header-deps コマンドライン オプションを使用して、システム ヘッダー ファイルを含む、完全な依存情報を生成します。

関連トピック

関連項目