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
and KarateMatch.cpp
:
编辑:
我已经尝试过在我的系统(OS X 10.8.1)上完全显示的代码,但编译时没有出现相同的错误。
空手道比赛.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";
}