[Qt-interest] undefined reference to `vtable for ScannerWidget' ?

Kermit Mei kermit.mei at gmail.com
Tue Jan 20 22:49:12 CET 2009


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



More information about the Qt-interest-old mailing list