c++ - Codeblocks c++ undefined reference 错误,类已定义

标签 c++ codeblocks linker-errors undefined-reference

嘿伙计们,前几天我问了一个关于一些我无法开始工作的 C++ 代码的问题。我听取了每个人关于如何在 C++ 中创建对象的建议,但现在我得到了 undefined reference 错误。我正在使用最新的代码块版本并使用它进行编译。我读到这是由于在编译期间没有链接某些文件造成的,这意味着我已经在头文件中定义了类而不是在代码中,这让我感到困惑,因为根据我的理解(教授示例)我正在声明对象。

头文件 数学对象.h

class MathObject{
private:
    int num1;
    int num2;

public:
    int sum();
    MathObject(int n, int m);
};

数学对象文件 数学对象.cpp

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

MathObject :: MathObject(int n, int m){
    num1 = n;
    num2 = m;
}

int MathObject :: sum(){
    return num1+num2;
}

主文件

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

int main(int args, char *argv[]){
    MathObject *mo = new MathObject(3,4);
    int sum = mo -> sum();

    MathObject mo2(3,4);

    //cout << sum << endl;
    return 0;
}

undefined reference 是对 MathObject 类中任何内容的所有调用,我一直在寻找一个我能理解的小 c++ 示例。 (语法和java差别太大了)

当我尝试在 c 中使用多个文件时,会发生这种情况,这可能是我的计算机的问题吗?

最佳答案

在代码块的“项目”选项卡中,右键单击您的项目名称并选择“添加文件...”

或者,您可以从应用程序主菜单的“项目”中选择“添加文件...”。

使用它可以将所有源文件添加到项目中。

当前 MathObject.cpp 不在该列表中,因此无法编译或链接。

关于c++ - Codeblocks c++ undefined reference 错误,类已定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24253979/

相关文章:

c++ - 什么是 undefined reference /未解析的外部符号错误,我该如何解决?

c++ - LNK2005 already defined error on inclusion of C-type header file in C++ project [MSVC12]

c++ - Qt:显示聊天消息的最佳控件

c++ - 什么是 undefined reference /未解析的外部符号错误以及如何修复它?

c++ - 为什么我不能在从具有私有(private)构造函数的类扩展的 C++ 类中声明一个空构造函数

c - 从 C 中的另一个程序执行一个程序

c++ - 程序挂起不循环

c++ - C++ 应用程序中对 `WinMain@16' 的 undefined reference ,带有 Code::Blocks

c++ - 我应该/可以/必须如何处理我的 C++ 项目所依赖的 dll?

c++ - 我在计算 4 个值的方差时的错误在哪里?