首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QAbstractTableModel继承vtable问题

QAbstractTableModel继承vtable问题
EN

Stack Overflow用户
提问于 2008-11-26 21:02:39
回答 6查看 2.1K关注 0票数 0

这是qt的另一个问题:我扩展了一个QAbstractTableModel,但是我得到了一个编译错误(我正在使用cmake)

代码语言:javascript
复制
// file.h
#ifndef TABLEMODEL_H
#define TABLEMODEL_H

#include <QAbstractTableModel>

class TableModel : public QAbstractTableModel
{
Q_OBJECT

public:
TableModel(QObject *parent = 0);
int rowCount(const QModelIndex &parent = QModelIndex()) const;
int columnCount(const QModelIndex &parent = QModelIndex()) const;
};
#endif

// file.c
#include "tableModel.h"

TableModel::TableModel(QObject *parent)
: QAbstractTableModel(parent){}
int TableModel::rowCount(const QModelIndex & ) const
{ return 1; }

int TableModel::columnCount(const QModelIndex & ) const
{ return 1;}

当我编译时,我得到:

在TableModel‘/partd/unusedsvn/unusedpkg/iface/tableModel.cpp:4:的函数TableModel': /partd/unusedsvn/unusedpkg/iface/tableModel.cpp:4: undefined reference tovtable中,未定义对vtable for TableModel' collect2: ld returned 1 exit status的引用

有谁有同样的麻烦吗??

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-12-02 12:31:26

解决了将所需的cpp文件添加到CMakeLists.txt的问题。

代码语言:javascript
复制
set(tutorial_SRCS app.cpp mainWin.cpp tableModel.cpp)

当我运行cmake时,将自动创建moc*

票数 0
EN

Stack Overflow用户

发布于 2008-11-26 21:17:30

确保通过MOC运行头文件,并链接那些MOC目标文件。

票数 3
EN

Stack Overflow用户

发布于 2008-12-03 19:01:38

几乎100%的vtable错误都是由于缺少头/类定义或这些定义中的拼写错误造成的,所以首先要做的是确保头和源正确(并包含在项目中)。我个人曾因此而咒骂Qt到了最低的地狱,并错过了项目文件中的小拼写错误,一点也不好玩:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/322147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档