繁体   English   中英

为什么此C ++链接不起作用? (OSX小牛)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM