これが重複した質問である場合は申し訳ありません。ubuntuにeclipse juno、cdtがあります。機能する Hello World autotools プロジェクト。ここで、別のファイルで関数を使用したいので、one.h と one.cpp を作成し、main_hello.cpp を変更しました。
main_hello.cpp:
#include <iostream>
#include "one.h"
using namespace std;
int main(void) {
cout << "Hello World" << endl;
onehello();
return 0;
}
one.h:
#ifndef ONE_H_
#define ONE_H_
void onehello(void);
#endif /* ONE_H_ */
one.cpp:
#include "one.h"
#include <iostream>
using namespace std;
void onehello(void) {
cout << "Hello one" << endl;
}
ビルドすると、「`onehello() への未定義の参照」が発生します。関数を one.cpp ではなく one.h で定義すると機能します。私は何を間違っていますか?
ありがとうございました!