未定义的引用'vtable for MainWindow'错误。

5

大家好,我正在使用Qt和Qwt编程,但在我的程序中出现了以下错误:

undefined reference to `vtable for MainWindow' error: collect2: ld returned 1 exit status

我不明白这些错误的含义,有人能解释一下吗?因为我的代码看起来没有错误。

谢谢。

1个回答

4

您没有链接到应该链接的所有内容。您需要在.cpp文件上运行moc,并在myfile.cpp的末尾添加例如#include "moc_myfile.cpp"

或者,您声明了一个虚函数(可能是析构函数),但没有定义它。


非常感谢您,先生。还有一件事,我有另一个完全相同的程序,但它没有出现这个错误,并且在我的程序中也没有包含moc文件。谢谢。 - tariq
@randy:你需要展示源代码。我提到的这两个问题是导致这个错误的常见原因。如果你想要更详细的帮助,请在问题中提供更多细节。 - Erik
好的先生,谢谢。代码有点长,我会尝试自己解决问题,如果失败了再问您。非常感谢您的帮助。 - tariq
1
如果您正在使用qmake,请将.h文件添加到HEADERS(HEADERS += your.h)中并重新运行qmake。通常不需要包含.moc文件。 - Frank Osterfeld

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接