c++ - 调用定义函数时在QT Creator中获取 "undefined reference"

标签 c++ qt

所以,我正在读这本书:C++ GUI Programming with Qt 4, Second Edition by Jasmin Blanchette; Mark Summerfield,为了学习 GUI 编程。在按照本书的步骤创建一个简单的电子表格应用程序时,我得到了一个“未定义的引用” 尝试编译电子表格小部件时出错。

所有错误似乎都源于 Cell *Spreadsheet::cell(int row, int column) 函数:

Cell *Spreadsheet::cell(int row, int column) const
{
    return static_cast<Cell *>(item(row, column));
}

这是第一个从 spreadsheet.cpp 提示的函数

QString Spreadsheet::formula(int row, int column) const {
    Cell *c = cell(row, column);
    if (c) {
        return c->formula();
    } else {
        return "";
    }
}

Cell *c = cell(row, column); 发送错误:/home/axel/QtSDK/Code/Spreadsheet/spreadsheet.cpp:-1: error: undefined reference到 `Cell::Cell()'

在调用 cell(row, column) 的任何地方都会发生这种情况。该函数本身在私有(private)部分的 spreadhseet header 中定义为:Cell *cell(int row, int column) const;

抱歉,如果它看起来很乱,我是 C++ 编程的新手。

这是我的 .pro 文件

TEMPLATE = app
CONFIG += console
CONFIG += qt

SOURCES += main.cpp \
           spreadsheet.cpp

HEADERS += \
           spreadsheet.h

如果我遗漏了什么,我会尽快添加。

谢谢, 阿克塞尔

最佳答案

Cell 的定义没有上课。应该是cell.h至少它应该包含在 spreadsheet.cpp 中或者它的代码可以直接包含在 spresheed.h 中或 .cpp这是不太可能的。无论如何,错误意味着缺少 Cell构造函数。

关于c++ - 调用定义函数时在QT Creator中获取 "undefined reference",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9643451/

相关文章:

visual-studio - 如何将 Visual C++ 项目导入 Qt Creator?

qt - 在 Symbian/Qt 中检测电话方向变化的问题

c++ - Qt Creator 的新建项目向导中缺少 Qt 控制台应用程序

c# - 使用 Emgu OpenCV 计算直方图

c++ - 我们可以在 C++ 的类中定义 hashcode 方法吗

c++ - 从 libcurl 获取详细信息到文件

qt - 如何禁用特定的 QML 调试器警告

c++ - boost::filesystem::last_write_time 在哪里?

c++ - 收到的套接字客户端-服务器字符串是中文字符

c++ - 预处理器定义在 Visual Studio 中有效,在 Qt-creator 中无效