ネーティブな日本語で言い換えると、次のようになります。 C++ の未解決の参照の問題を解決するにはどうすればよいでしょうか。
C++ では、「未定義参照」のエラーは通常、以下によって引き起こされます:
- 関数や変数の定義が不足しています。すなわち、それらを使用する前に定義する必要があります。そして、使用前にそれらがきちんと適切に宣言され定義されていることを確認しましょう。
- 外部ライブラリの関数や変数を参照するコードがあるにも関わらず、コンパイラが該当するライブラリファイルを見つけることができない場合、「undefined reference」エラーが発生します。必ず必要なライブラリファイルを正しくリンクし、そのパスをコンパイラの検索パスに追加してください。
- 関数や変数の名前の間違い: 関数や変数の名前が正しい綴りかどうか、および定義されている場所と一致しているか確認します。C++ は大文字と小文字を区別するため、名前の大文字と小文字は完全に一致しなければなりません。
- 函数参数不匹配:如果函数的参数类型、个数或顺序与其定义处不匹配,编译器会认为它们是不同的函数,并报”undefined reference”错误。确保函数的参数与其定义处完全一致。
- リンクエラー: コード内で同一のグローバル変数や関数が複数回定義されている可能性があります。 グローバル変数や関数の重複定義がないことを確認してください。
いずれの方法でも解決しない場合は、コンパイルオプション「-l」で必要なライブラリの明示的なリンクを試したり、コンパイラのバージョンと利用しているライブラリのバージョンとの互換性がないか確認してください。また、コンパイラのキャッシュによって発生する可能性のある問題を解決するため、プロジェクトのクリーンと再ビルドを実行することも試してください。