1. ホーム
  2. C++

c/c++の "undefined reference to "の解決法

2022-02-19 19:28:28

c/c++における"undefined reference to"の解決策について

未定義参照とは、その関数が未定義であることを意味します。

gccを使用している場合、以下のようなチェック方式があります。

  1. プロンプトの未定義関数が何らかのライブラリの関数である場合。そのライブラリがインストールされていることを確認し、コンパイルコマンドの-lと-L引数でそのライブラリをインポートする。
  2. 未定義の関数がプログラム中の関数である場合。ヘッダーファイルで宣言されているか、コンパイル時に対応するobjファイルがあるかどうかを確認します。
  3. 未定義の関数がプログラム内の関数である場合、もう一つ隠れた可能性があります。関数を変更するコードのコンテキストに #ifdef や #ifndef などのコンパイル済みの情報があるかどうかを確認し、これも "undefined reference to " でコードがコンパイルされない可能性が高いと考えられます。