Как решить эти ошибки Qt? - PullRequest
1 голос
/ 20 апреля 2011

У меня есть следующие файлы в составе программы Qt:

checkabder.h

#include <QDialog>
#include "ui_checkabder.h"
class CheckAbder: public QDialog, public Ui::CheckAbder
{
Q_OBJECT
public:
CheckAbder(QWidget *parent=0);
private slots:
void on_lineEdit_textChanged();
};

checkabder.cpp

#include <QtGui>
#include "checkabder.h"
CheckAbder::CheckAbder(QWidget *parent): QDialog(parent)
{
setupUi(this);
QRegExp regexp("Abder-Rahman");
QValidator *validator = new QRegExpValidator(regexp, this);
lineEdit->setValidator(validator);
connect(okButton, SIGNAL(clicked()), this, SLOT(accept()));
connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
}

void CheckAbder::on_lineEdit_textChanged()
{
okButton->setEnabled(lineEdit->hasAcceptableInput());
}

Когда я пытаюсь запустить приложение, я получаю следующие ошибки:

C: /Users/avbder/Desktop/abder/debug/checkabder.o: -1: В функции `CheckAbder ':

C: \ Users \ avbder \ Desktop \ abder / checkabder.cpp: 3: ошибка: неопределенная ссылка на `vtable for CheckAbder '

C: \ Users \ avbder \ Desktop \ abder / checkabder.cpp: 3: ошибка: неопределенная ссылка на `vtable for CheckAbder '

C: \ Users \ avbder \ Desktop \ abder / checkabder.cpp: 3: ошибка: неопределенная ссылка на `vtable for CheckAbder '

C: \ Users \ avbder \ Desktop \ abder / checkabder.cpp: 3: ошибка: неопределенная ссылка на `vtable for CheckAbder '

: - 1: ошибка: collect2: ld вернул 1 состояние выхода

Есть идеи, как решить эти проблемы?

Спасибо.

1 Ответ

1 голос
/ 20 апреля 2011

Он ищет ссылку на первый виртуальный метод CheckAbder(..), который не может быть найден.

Или это может быть просто то, как определен ваш класс, и проблема с вашим файлом MOC.См. сообщение в блоге с неопределенной ссылкой на ошибки vtable .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...