0

私はヘッダーファイルを持っています。header1.h関数の定義でそれを呼び出しましょうmyFunc()main.cpp私の C++ プロジェクトにはソース ファイルがあります。これをヘッダー ファイルと呼びましょうmain.h。に含めheader1.hmain.hから に含めmain.hましたmain.cpp

I have a class constructorでmain.cppそれを呼び出してみましょう。次のMyClassコードがあります。

MyClass:MyClass(...)
.
.
{
  .
  .
  f = myFunc(...);
  .
}

コードをコンパイルすると、次のエラーが発生します。

error LNK2019: unresolved external symbol _myFunc referenced in function  

このエラーの理由は何ですか?

4

3 に答える 3

1

それはリンカーエラーです。の定義を含むファイルmyFuncがコンパイルされていないか、それをエクスポートしたライブラリにリンクしていません。

于 2012-08-23T05:57:37.280 に答える
1

の実装はありmyFuncますか? ヘッダーで宣言 しただけで、定義していませんか?myFunc()

これは、関数を定義することで修正できます。

void myFunc(); // Declaration
void myFunc() {} // Definition

このエラーは、シンボル定義myFuncがなく、リンカーによって解決できないために発生します。

于 2012-08-23T05:57:44.810 に答える
1

おそらく、ライブラリ/オブジェクト ファイルをリンカに提供するのを逃しmyFuncます。

于 2012-08-23T06:00:12.517 に答える