undefined reference to `vtable for ScannerWidget' ?

143 views
Skip to first unread message

Kermit Mei

unread,
Jan 20, 2009, 4:49:12 PM1/20/09
to qt-c...@googlegroups.com, qt-in...@trolltech.com
Hello, I defined a class ScannerWidget, but
I don't konw why the error is like this:

$ make
Linking CXX executable ../bin/FreeRecite-core
gui/libFreeReciteGui.so: undefined reference to `vtable for ScannerWidget'
gui/libFreeReciteGui.so: undefined reference to
`ScannerWidget::complished()'
gui/libFreeReciteGui.so: undefined reference to
`ScannerWidget::qt_metacall(QMetaObject::Call, int, void**)'
gui/libFreeReciteGui.so: undefined reference to `vtable for ReciterWidget'
gui/libFreeReciteGui.so: undefined reference to
`ReciterWidget::staticMetaObject'
gui/libFreeReciteGui.so: undefined reference to `typeinfo for ScannerWidget'
gui/libFreeReciteGui.so: undefined reference to `vtable for MainWindow'
gui/libFreeReciteGui.so: undefined reference to
`ScannerWidget::staticMetaObject'
gui/libFreeReciteGui.so: undefined reference to
`ScannerWidget::metaObject() const'
gui/libFreeReciteGui.so: undefined reference to
`ScannerWidget::qt_metacast(char const*)'
collect2: ld returned 1 exit status


What may couse errors like this? Can anyone give me some tip?

My header is as the following:


#ifndef FR_SCANNERWIDGET_H
#define FR_SCANNERWIDGET_H

#include "ui_ScannerWidget.h"

namespace freeRecite {
class Scanner;
}

class ScannerWidget : public QWidget,
public Ui::ScannerWidget
{
Q_OBJECT
public:
explicit ScannerWidget(QWidget *parent = 0);
~ScannerWidget();
virtual void start(time_t taskID) = 0;
signals:
void complished();
protected slots:
void lineReturned();
void showNext();
void showAnswer();
void add();
void remove();
void modify();
protected:
void setInfo();
void complish();

freeRecite::Scanner *scanner;
bool freeze; //If freeze == true, the lineEdit is showing the
answer.
time_t startTime;
int maxBar;
};

#endif //FR_SCANNERWIDGET_H


Thank you!
Kermit Mei

Goldfish Huang

unread,
Jan 22, 2009, 1:27:32 AM1/22/09
to qt-c...@googlegroups.com
Run moc at ScannerWidget.h first. It will produce a moc_ScannerWidget.cpp. Compile and link with it.

Am I in China?

2009/1/21 Kermit Mei <kermi...@gmail.com>

Kermit Mei

unread,
Jan 22, 2009, 6:05:29 AM1/22/09
to qt-c...@googlegroups.com
Goldfish Huang wrote:
> Run moc at ScannerWidget.h first. It will produce a
> moc_ScannerWidget.cpp. Compile and link with it.
>
> Am I in China?
恩,谢谢。这个是想发到mail list上的,结果点错了,呵呵。
我是用cmake管理版本的,可能什么地方没有弄好。代码
没有问题,我用qmake测试都没有问题。
>
> 2009/1/21 Kermit Mei <kermi...@gmail.com <mailto:kermi...@gmail.com>>
Reply all
Reply to author
Forward
0 new messages