複数のファイルで C++ プログラムを作成する方法を学習しているため、 http://www.learncpp.com/cpp-tutorial/19-header-files/の例から正確にコピーした単純なプログラムがあります。
プログラムはコンパイルされますが、ビルド時に次のエラーが表示されます。
/tmp/ccm92rdR.o: 関数 main 内: main.cpp:(.text+0x1a): `add(int, int)' への未定義の参照 collect2: ld が 1 つの終了ステータスを返しました
コードは次のとおりです。
main.cpp
#include <iostream>
#include "add.h" // this brings in the declaration for add()
int main()
{
using namespace std;
cout << "The sum of 3 and 4 is " << add(3, 4) << endl;
return 0;
}
add.h
#ifndef ADD_H
#define ADD_H
int add(int x, int y); // function prototype for add.h
#endif
add.cpp
int add(int x, int y)
{
return x + y;
}
なぜこれが起こるのか誰にも分かりますか?
どうもありがとうございました。