This question already has answers here:
Undefined reference to vtable. Trying to compile a Qt project
(17个答案)
2年前关闭。
这是我的标题:
这是我的课:
我收到一个链接器错误:
这意味着我有一个未实现的虚拟方法。但是那里
在我的课堂上没有虚方法。
我评论了媒介,认为这是原因,但是
错误没有消失。
无法解决问题。
(17个答案)
2年前关闭。
这是我的标题:
#ifndef BARELYSOCKET_H
#define BARELYSOCKET_H
#include <QObject>
//! The First Draw of the BarelySocket!
class BarelySocket: public QObject
{
Q_OBJECT
public:
BarelySocket();
public slots:
void sendMessage(Message aMessage);
signals:
void reciveMessage(Message aMessage);
private:
// QVector<Message> reciveMessages;
};
#endif // BARELYSOCKET_H
这是我的课:
#include <QTGui>
#include <QObject>
#include "type.h"
#include "client.h"
#include "server.h"
#include "barelysocket.h"
BarelySocket::BarelySocket()
{
//this->reciveMessages.clear();
qDebug("BarelySocket::BarelySocket()");
}
void BarelySocket::sendMessage(Message aMessage)
{
}
void BarelySocket::reciveMessage(Message aMessage)
{
}
我收到一个链接器错误:
undefined reference to 'vtable for BarelySocket'
这意味着我有一个未实现的虚拟方法。但是那里
在我的课堂上没有虚方法。
我评论了媒介,认为这是原因,但是
错误没有消失。
Message
是复杂的struct
,但是即使使用int
无法解决问题。
最佳答案
每当您向Q_OBJECT宏添加新调用时,都需要再次运行qmake。您所指的vtables问题与此直接相关。
只需运行qmake,并假设代码中没有其他问题,您应该会很好。
关于c++ - Qt链接器错误:“未定义对vtable的引用” ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43231933/