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

undefined reference to Class::Function() C++

本文关键字:未定义 C++ 引用 Class Function      更新时间:2023-10-16

在搜索了大约半个小时的解决方案后,我没有取得任何进展。错误如下:

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

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

主.cpp

#include <iostream>
using namespace std;
#include "Sally.h"
int main()
{
    Sally sallyObject;
    sallyObject.printCrap();
}

莎莉·

#ifndef SALLY_H
#define SALLY_H

class Sally
{
    public:
        Sally();
        void printCrap();
};
#endif // SALLY_H

莎莉.cpp

#include "Sally.h"
#include <iostream>
using namespace std;
Sally::Sally(){
}
void Sally::printCrap(){
    cout << "Did someone say steak?" << endl;
}

提前谢谢你!

我知道

这是一个很老的问题,但也许它可以帮助某人。

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

新文件 -> 文件... ->

C/C++ 标头(源等) -> 下一个,下一个 ->给它一个名字,并确保它与你的项目位于同一路径中,然后选中"将文件添加到活动项目",在构建目标中:选中全部 ->完成。

希望对您有所帮助。

您的链接器找不到 Sally.cpp。(链接器快速介绍)

编译代码类型:

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