GCC を使用した C プログラムのコンパイル: リンカー エラーへの対処
GCC コンパイラーは C プログラムをコンパイルできます。ただし、提供されている例に見られるように、コンパイル中にリンカー エラーが発生すると、GCC が C をコンパイルできないという誤った想定につながる可能性があります。
リンカー エラーについて
報告されるリンカー エラーは、GCC の C コンパイル機能とは関係ありません。これらは、C プログラムに必要な関数およびライブラリへの参照が欠落していることを示します。具体的には、エラーは、GCC によってリンクされるデフォルトのライブラリである標準 C ライブラリに見つからないシンボルを参照しています。
C 標準ライブラリにリンクしてエラーを修正する
リンカーエラーを解決するには、C プログラムを C 標準ライブラリに対してリンクする必要があります。これは、コンパイル コマンドを次のように変更することで実行できます:
gcc info.C -lstdc++
-lstdc フラグは、欠落しているシンボルの定義を含む標準 C ライブラリにプログラムをリンクするように GCC に指示します。
代替: g
を使用するか、専用のC コンパイラ g 。コンパイル プロセスを簡素化します。 g は C 言語のセマンティクスを理解し、デフォルトで C 標準ライブラリに自動的にリンクします。
gcc と g の違い
提供された回答で Rup によって説明されているように、gccファイル拡張子に基づいてバックエンド コンパイラを選択しますが、デフォルトでは標準 C ライブラリのみにリンクします。一方、 g も拡張子に基づいてバックエンドを選択しますが、ファイル拡張子に関係なく、C と C ソースの両方を C としてコンパイルし、C 標準ライブラリとリンクします。
以上がGCC で C をコンパイルするとリンカー エラーが発生するのはなぜですか? それらを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。