Hallo liebe Forengemeinde,
ich habe folgendes Problem.
Ich habe mir eine kleine Test-Klasse gebaut mit der ich von QThread ableite.
Wie gewöhnlich ist die Klasse im Header definiert und im cpp-File implementiert.
->jetzt kommts, wenn ich den Konstrukter und Destrukter inline also im Header-File implementiere gehts problemlos. Sobald ich aber im cpp-File implementiere bringt mir der Linker Fehler. Das cpp-File wird aber erkannt, weil sich die Funktion "run" auch im cpp-File implementieren lässt.
Header-File:
#ifndef TEST_H
#define TEST_H
#include <QThread>
class CTest: public QThread
{
Q_OBJECT
public:
CTest(QObject* parent = NULL);
~CTest();
void run();
};
#endif
cpp-File:
#include "Test.h"
CTest::CTest(QObject* parent): QThread(parent)
{
}
CTest::~CTest()
{
}
void CTest::run()
{
}
Fehlermeldung:
1>Test.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall CTest::metaObject(void)const " (?metaObject@CTest@@UBEPBUQMetaObject@@XZ)
1>Test.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall CTest::qt_metacast(char const *)" (?qt_metacast@CTest@@UAEPAXPBD@Z)
1>Test.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall CTest::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@CTest@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
Wo könnte der Fehler liegen? Ich bin langsam am verzweifeln
LG Marco