ファイルを次KarateMatch new_match;
のようにコンパイルすると、新しいオブジェクトを作成するときにこのエラーが発生します。Driver.cpp
g++ Driver.cpp KarateMatch.cpp -o output
Undefined symbols for architecture x86_64:
"KarateMatch::KarateMatch()", referenced from:
_main in cc5G5Ak8.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
KarateMatch new_match;
#include <KarateMatch.h>
との両方Driver.cpp
で使用しているため、何が間違っていたのかわかりませんKarateMatch.cpp
。
編集:
私のシステム (OS X 10.8.1) で正確に示されているようにコードを試しましたが、これは同じエラーでコンパイルされません。
KarateMatch.h
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class KarateMatch{
public:
KarateMatch();
};
カラテマッチ.cpp
#include "KarateMatch.h"
#include <iostream>
#include <string>
#include <vector>
using namespace std;
KarateMatch::KarateMatch(){
cout << "HI";
}