Доброе время суток!
Читаю книгу "Программирование на языке С++
в среде Qt Creator" от Е. Р. Алексеев, Г. Г. Злобин, Д. А.Костюк,
О. В.Чеснокова, А. С.Чмыхало
Столкнулся с такой проблемой:
Содержимое файла *.pro:
TEMPLATE = app
TARGET = ParentExample
QT += widgets
HEADERS += \
parentwidget.h
SOURCES += \
main.cpp \
parentwidget.cpp
Содержимое файла parentwidget.cpp:
#include "parentwidget.h"
#include <QLabel>
#include <QPushButton>
ParentWidget::ParentWidget(QWidget* parent):QWidget(parent)
{
//используем указатели, чтобы дочерние элементы не удалились после завершения работы конструктора
QLabel* ILabel = new QLabel(this); //this - это экземпляр класс ParentWidget, указывается родительский виджет
(*ILabel).setGeometry(50,0,100,30);
(*ILabel).setText("Привет, товарищ!");
QPushButton* lPushButton = new QPushButton(this);
(*lPushButton).setGeometry(50,50,100,30);
(*lPushButton).setText("Жми!");
setGeometry(x(),y(),300,150);
setWindowTitle("Наследник Образец");
}
Содержимое файла parentwidget.h:
#ifndef PARENTWIDGET_H
#define PARENTWIDGET_H
#include <QWidget>
class ParentWidget : public QWidget
{
Q_OBJECT
public:
explicit ParentWidget(QWidget *parent = 0);
signals:
public slots:
};
#endif // PARENTWIDGET_H
В итоге при попытке собрать и запустить проект у меня появляются ошибки такого рода:
parentwidget.obj:-1: ошибка: LNK2001: неразрешенный внешний символ ""public: virtual struct QMetaObject const * __cdecl ParentWidget::metaObject(void)const " (?metaObject@ParentWidget@@UEBAPEBUQMetaObject@@XZ)"
parentwidget.obj:-1: ошибка: LNK2001: неразрешенный внешний символ ""public: virtual void * __cdecl ParentWidget::qt_metacast(char const *)" (?qt_metacast@ParentWidget@@UEAAPEAXPEBD@Z)"
parentwidget.obj:-1: ошибка: LNK2001: неразрешенный внешний символ ""public: virtual int __cdecl ParentWidget::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@ParentWidget@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z)"
debug\widgets.exe:-1: ошибка: LNK1120: неразрешенных внешних элементов: 3
Очень много в выдаче по этой проблеме, но я не обладаю соответствующими знаниями, чтобы извлечь из этого что-то полезное.
Есть какие-нибудь мысли?=)