Hallo,
ich habe ein Problem, wenn ich das Macro Q_Object in einer neuen Klasse einbinde.
So wie es scheint, werden die Mocs nicht erzeugt. Es ist länger her, dass ich mit Qt entwickelt habe. Mein altes Projekt kann ich kompilieren und starten.
Ich habe mittels qmake -project ein .pro-File erzeugt. Dann ein MSVC2005-Project mittels qmake -tp vc. So klappte das vor einigen Monaten eigentlich immer.
Meine Problemklasse:
Code:
#include <QObject>
class Tester : public QObject
{
Q_OBJECT
public:
Tester();
virtual ~Tester(void);
public slots:
void selectionChanged(void);
};
Mein .pro-File
Code:
TEMPLATE = app
TARGET +=
DEPENDPATH += .
INCLUDEPATH += .
# Input
HEADERS += Tester.h
SOURCES += main.cpp Tester.cpp
Der Fehler:
Code:
Tester.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual struct QMetaObject const * __thiscall Tester::metaObject(void)const " (?metaObject@Tester@@UBEPBUQMetaObject@@XZ)".
Tester.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual void * __thiscall Tester::qt_metacast(char const *)" (?qt_metacast@Tester@@UAEPAXPBD@Z)".
Tester.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual int __thiscall Tester::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@Tester@@UAEHW4Call@QMetaObject@@HPAPAX@Z)".
Kommentiere ich das Makro aus, kompiliert die Klasse. Kann mir vielleicht jemand einen Tip geben?
Lesezeichen