[英]Why does this C++ link not work? (OSX Mavericks)
我正在学习C ++。 我尝试链接单独的文件,以尝试在单独的文件中包含一个类。
当我生成并运行程序时,出现以下错误消息:
体系结构x86_64的未定义符号:“ Sally :: printCrap()”,引用自:Main-8bfa94.o中的_main“ Sally :: Sally()”,引用自:Main-8bfa94.o中的_main ld:符号找不到架构x86_64 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)[在0.3秒内完成,退出代码为1]
这是我的代码:
Main.cpp
#include <iostream>
#include <string>
#include "Sally.h"
using namespace std;
int main()
{
Sally sallyObject;
Sally *sallyPointer = &sallyObject;
sallyObject.printCrap();
sallyPointer->printCrap();
}
萨莉·h
#ifndef SALLY_H
#define SALLY_H
class Sally
{
public:
Sally();
void printCrap();
};
#endif
萨莉
#include "Sally.h"
#include <iostream>
using namespace std;
Sally::Sally()
{
}
void Sally::printCrap(){
cout << "Crap \n";
};
任何帮助将不胜感激!
只需启动OS X的终端应用程序,然后键入
cd“ / Users / BEASTMACHIENEjr / Desktop / C ++文件”转到该文件夹,然后键入g ++ Main.cpp Sally.cpp。 这将产生一个名为a.out的文件,然后您可以通过键入./a.out来启动它。
PS:如果您使用Sublime Text
,我建议创建一个Makefile
以便您可以编译跨多个源文件的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.