我正在尝试在this page编译时找到代码。我想做的就是复制该页面所描述的内容。我不断收到错误消息:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>daily backup script: </title></head>
<body style="font-family:monospace; font-size: 10px">
<table border="1">
</table>
</body>
</html>
user@hostname:/path/to/script$ <tr style='color: red'><td>2016-02-13</td><td>20:11:29</td><td colSPan='5'>test again</td></tr>
<tr><td>2016-02-13</td><td>20:11:29</td><td colSPan='5'>test</td></tr>
<tr><td>2016-02-13</td><td>20:11:29</td><td colSPan='5'>Sat Feb 13 20:11:29 EST 2016</td></tr>
这是我的代码,与该页面上的代码非常相似:
的main.cpp
main.cpp:13: error: undefined reference to `vtable for myMainWindow'
我读到了为什么会发生这种情况,并且发现它需要在头文件中定义类。考虑到这段代码,我将如何正确地做到这一点?
答案 0 :(得分:2)
除了缺少析构函数定义之外,您还缺少Q_OBJECT
宏,这对于所有QObject
派生类都是必需的。如果你有这个,你会得到关于MOC生成文件的另一个错误,当你在QObject
中定义main.cpp
派生类时,你需要手动包含MOC文件。如果您为QObject
派生类使用专用的h和cpp文件,则情况并非如此。
答案 1 :(得分:1)
如评论中所述:~myMainWindow()缺少的函数体是问题所在。