C++ Qt:对'的未定义引用;vtable for MyClass';
我正在为我的项目使用Qt Creator。当我试图逐字运行下面的代码时,我得到一个编译器错误C++ Qt:对'的未定义引用;vtable for MyClass';,c++,qt,C++,Qt,我正在为我的项目使用Qt Creator。当我试图逐字运行下面的代码时,我得到一个编译器错误未定义对“vtable for MyClass”的引用。。我环顾四周,显然这是编译器的说法,表示缺少虚拟函数的实现 在myclass.h中: class MyClass : public QObject { Q_OBJECT public: MyClass(QTimer* timer) {} virtual ~MyClass() {} }; 在main.cc中: int main(int
未定义对“vtable for MyClass”的引用。
。我环顾四周,显然这是编译器的说法,表示缺少虚拟函数的实现
在myclass.h中:
class MyClass : public QObject {
Q_OBJECT
public:
MyClass(QTimer* timer) {}
virtual ~MyClass() {}
};
在main.cc中:
int main(int argc, char* argv[]) {
QApplication app(argc, argv);
QTimer timer;
MyClass myclass(&timer);
return app.exec();
}
我不知道我做错了什么。您需要运行qmake。仅单击“构建”将不会再次运行qmake qmake运行moc,它根据您的.ui文件生成.cpp和.h。这些文件没有与项目的其余部分正确对齐,因为它们没有更新。最好记住,如果您曾经更改过ui,请记住运行qmake 有关vtable及其功能的更多详细信息,请参见:
从“生成”菜单->全部清除,运行qmake,全部重建