undefined reference to `vtable for ClassName'

149
22 мая 2019, 08:10

Возникли ошибки при компиляции. "qmake" ругается:

main.o: in function `gdbInterface::gdbInterface(QProcess):
undefined reference to `vtable for gdbInterface'
main.o: in function `gdbInterface::~gdbInterface()':
undefined reference to `vtable for gdbInterface'
collect2: error: ld returned 1 exit status

Я так понимаю, что неправильно наследовал конструктор и деструктор.

Код:

#include <QCoreApplication>
#include <QObject>
#include <QIODevice>
#include <QProcess>
#include <QDebug>

class gdbInterface : public QObject {
    Q_OBJECT
public slots:
    void onGDBConnected();
public:
    gdbInterface(QProcess &gdb);
};
void gdbInterface::onGDBConnected(){
}
gdbInterface::gdbInterface(QProcess &gdb){
    connect(&gdb, &QProcess::started, this , &gdbInterface::onGDBConnected);
}
int main(int argc, char *argv[]) {
    QCoreApplication a(argc, argv);
    QProcess gdb;
    QString gdbProgram;
    QStringList gdbArguments;
    gdbArguments << "-q"
                  << "/home/byeti/project/meerkat/meerkat_src/rat_lab"
                  ;//<< "--interpreter=mi";
    qint64* gdbPid = nullptr;
    gdbInterface interface(gdb);
    gdb.setProgram("gdb");
    gdb.setArguments(gdbArguments);
    gdb.startDetached(gdbPid);

    gdb.close();
    getchar();
    return a.exec();
}
Answer 1

Добавьте в самом конце файла, после закрывающей скобки:

#include "main.moc"
READ ALSO
Исключение при записи данных в массив, состоящий из списков

Исключение при записи данных в массив, состоящий из списков

Разрабатываю программу, которая будет искать нужный элемент при помощи хэш-таблицыХэш-таблицу организую путём создания массива, состоящего...

171
Помогите в реализации классов

Помогите в реализации классов

Мне по заданию надо реализовать:

124
Проблемы в понимании работы Spring&#39;a

Проблемы в понимании работы Spring'a

недавно смотрел видео по созданию веб-приложения с помощью Spring MVC и Freemarker и пытался понять что и к чемуНа 1:20:00 https://www

148