使用 Qt Creator,我在 Qt 中创建了一个带有自定义插槽的类:
class CustomEdit : public QTextEdit
{
Q_OBJECT
public:
CustomEdit(QWidget* parent);
public slots:
void onTextChanged ();
};
但是,我收到此链接器错误:
undefined reference to 'vtable for CustomEdit'
文档说:
如果您收到“未定义对 LcdNumber 的 vtable 的引用”行的编译器错误,您可能忘记运行 moc 或在链接命令中包含 moc 输出。
......但这意味着什么并不明显。
有什么我需要添加到我的班级或 .pro 文件中的吗?
编辑——这是我的 .pro 文件:
QT += 网络\ 脚本 \ 网络套件\ xml 目标 = 我的应用 模板 = 应用程序 来源 += main.cpp \ 主窗口.cpp \ 自定义编辑.cpp 标题 += MainWindow.h \ 自定义编辑.h 表格 += 主窗口.ui
编辑:
这个问题处理同样的问题,但答案并没有说明我如何在 Qt Creator 中解决这个问题。我是否需要将 moc 生成的 .cpp 文件显式添加到要链接的文件列表中?这似乎是一种痛苦。