对Class :: Function()C ++的未定义引用

时间:2016-01-24 22:31:00

标签: c++ codeblocks

在寻找解决方案大约半小时后,我没有取得任何进展。 错误如下:

s \ My Workspace \ Project \ main.cpp - 第7行 - 对'Sally :: Sally()'的未定义引用

s \ My Workspace \ Project \ main.cpp - 第9行 - 对'Sally :: printCrap()'的未定义引用

的main.cpp

#include <iostream>
using namespace std;
#include "Sally.h"

int main()
{
    Sally sallyObject;
    sallyObject.printCrap();
}

Sally.h

#ifndef SALLY_H
#define SALLY_H


class Sally
{
    public:
        Sally();
        void printCrap();
};

#endif // SALLY_H

Sally.cpp

#include "Sally.h"
#include <iostream>
using namespace std;

Sally::Sally(){
}

void Sally::printCrap(){
    cout << "Did someone say steak?" << endl;
}

提前谢谢!

2 个答案:

答案 0 :(得分:2)

我知道这是一个非常古老的问题,但也许它可以帮助某人。

因此,在添加任何其他文件(标题,源等)时,请遵循以下步骤(如果使用Eclipse或类似的IDE):

新文件 - &gt;文件... - &gt; C / C ++标题(来源等) - &gt;接下来,接下来 - &gt;给它一个名字并确保它与你的项目在同一条路径上,然后检查&#34;将文件添加到活动项目&#34;,在构建目标中:检查所有 - &gt;完成。

希望它有所帮助。

答案 1 :(得分:1)

您的链接器找不到Sally.cpp。 (Quick intro to linker

编译代码类型:

g++ -o main main.cpp Sally.cpp