1

我正在尝试为我的 Qt 页面实现多级继承。

class MyPage1: public QWizardPage {

Q_OBJECT

...

}

and 

class MyPage2: public MyPage1 {
Q_OBJECT

...

}

moc_MyPage2.cc 为空,链接时出现错误:

错误 LNK2001:未解析的外部符号“公共:虚拟结构 QMetaObject const * __thiscall dsw::MyPage2::metaObject(void)const” (?metaObject@MyPage2@dsw@@UBEPBUQMetaObject@@XZ)

有人可以指导我吗?

4

1 回答 1

1

moc_MyPage2.cc 为空,链接时出现错误,

错误 LNK2001:未解析的外部符号“公共:虚拟结构 QMetaObject const * __thiscall dsw::MyPage2::metaObject(void)const” (?metaObject@MyPage2@dsw@@UBEPBUQMetaObject@@XZ)

如果 moc 文件未正确生成,则预计会出现链接器错误,因此真正的问题是为什么 moc 文件未正确生成。

一个干净的构建应该可以解决这个问题。如果再次遇到链接器错误,请检查是否生成了 moc 文件。另外,我假设您正在使用 Visual Studio 的 Qt Add-In 插件。

于 2014-04-18T07:08:45.140 回答