main.cpp#include <QApplication>
#include <QFont>
#include <QPushButton>
#include "test.h"
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
Test t;
t.show();
return app.exec();
}
test.h#ifndef TEST_H
#define TEST_H
#include <QMainWindow.h>
class Test : public QMainWindow
{
Q_OBJECT
public:
Test(QWidget* = NULL);
virtual ~Test();
protected:
private:
};
#endif // TEST_H
test.cpp#include "test.h"
Test::Test(QWidget* parent): QMainWindow(parent)
{
}
Test::~Test()
{
}
результат компиляции:
Linking console executable: bin\Debug\QTesting.exe
obj\Debug\test.o: In function `_ZN4TestC2EP7QWidget':
C:/Users/Edward/Programming/QTesting/test.cpp:4: undefined reference to `vtable for Test'
C:/Users/Edward/Programming/QTesting/test.cpp:4: undefined reference to `vtable for Test'
obj\Debug\test.o: In function `_ZN4TestC1EP7QWidget':
C:/Users/Edward/Programming/QTesting/test.cpp:4: undefined reference to `vtable for Test'
C:/Users/Edward/Programming/QTesting/test.cpp:4: undefined reference to `vtable for Test'
obj\Debug\test.o: In function `_ZN4TestD2Ev':
C:/Users/Edward/Programming/QTesting/test.cpp:9: undefined reference to `vtable for Test'
obj\Debug\test.o:C:/Users/Edward/Programming/QTesting/test.cpp:9: more undefined references to `vtable for Test' follow
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
6 errors, 0 warnings
Я не пойму почему так? Если убрать Q_OBJECT все скомпилируется, но без этого макроса я не смогу создаватх свои слоты!
Помогите.
Причина редактирования: длинные исходники можно вкладывать внутрь тэга expad