У меня есть main.cc, который
#include <iostream>
#include "Sally.h"
using namespace std;
int main(){
Sally sallyObject;
sallyObject.printCrap();
}
, и заголовочный файл Sally.h, который
#ifndef SALLY_H
#define SALLY_H
class Sally{
public:
Sally();
void printCrap();
protected:
private:
};
#endif //BURRITO_H
, и Sally.cc, который
#include "Sally.h"
#include <iostream>
using namespace std;
Sally::Sally()
{
}
void Sally::printCrap(){
cout << "did someone say steak?" << endl;
}
, и эти три файла находятся в одном каталоге. Когда я набираю g++ main.cc
, я не могу создать код. Там написано
Undefined symbols for architecture x86_64:
"Sally::printCrap()", referenced from:
_main in main-16cd07.o
"Sally::Sally()", referenced from:
_main in main-16cd07.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Кто-нибудь знает, почему это происходит?