#ifndef MAIN_H
#define MAIN_H
class cCounter : public QObject
{
Q_OBJECT
public:
cCounter() { m_value = 0; }
int value() const { return m_value; }
public slots:
void setValue(int value);
signals:
void valueChanged(int newValue);
private:
int m_value;
};
#endif // MAIN_H
#include <QApplication>
#include <QQmlApplicationEngine>
#include <QObject>
//#include <QCryptographicHash>
#include "main.h"
void cCounter::setValue(int value)
{
if (value != m_value) {
m_value = value;
emit valueChanged(value);
}
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
//cCounter a, b;
//QObject::connect(&a, SIGNAL(valueChanged(int)), &b, SLOT(setValue(int)));
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
}
если закоменить посыл сигнала "emit valueChanged(value);" все компилится, еслин е комментить пишет ошибку:
main.obj:-1: ошибка: LNK2019: ссылка на неразрешенный внешний символ "public: void __cdecl cCounter::valueChanged(int)" (?valueChanged@cCounter@@QEAAXH@Z) в функции "public: void __cdecl cCounter::setValue(int)" (?setValue@cCounter@@QEAAXH@Z)
уже не знаю что делать вообще.