C++ ユーザーズガイド

コンパイラの診断

-verbose オプションを使用すると、プログラムのコンパイル中に役立つ情報を表示できます。このオプションについては、第 3 章「C++ コンパイラオプション」を参照してください。

コマンド行に指定された引数をコンパイラが認識できない場合には、それらはリンカーオプション、オブジェクトプログラムファイル名、ライブラリ名のいずれかとみなされます。

基本的な区別は次のとおりです。

次の例で、-bitCC によって認識されないため、リンカー (ld) に渡されます。リンカーはこれを解釈しようとします。単一文字の ld オプションは連続して指定できるので、リンカーは -bit-b-i-t とみなします。これらはすべて有効な ld オプションです。しかし、これは本来の意図とは異なります。


demo% CC -bit move.cc    <- -bit は CC オプションとして認識されない

CC: 警告: ld が起動される場合は、オプション-bit は ld に渡されます。それ以外は無視されます。

次の例では、CC オプション -fast を指定しようとしましたが、先頭のダッシュ (-) を入力しませんでした。コンパイラはこの引数もリンカーに渡します。リンカーはこれをファイル名とみなします。


demo% CC fast move.cc          <-   -ユーザーは -fast と入力するつもりだった
move.C:
ld: 重大なエラー: ファイル fast: ファイルをオープンできません:
ファイルもディレクトリもありません。
ld: 重大なエラー: ファイル処理エラー。 a.out へ書き込まれる出力がありません。