例如,我们的计划是为十六进制视图定制一个QSpinBox。我在网上找到了一些例子,并用我自己的版本试了试。每次我都收到类似的链接器错误。因为我不是QT专家,所以我希望这里有人能帮上忙:
错误:
1>CustomSpinBox.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall CustomSpinBox::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@CustomSpinBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>CustomSpinBox.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall CustomSpinBox::qt_metacast(char const *)" (?qt_metacast@CustomSpinBox@@UAEPAXPBD@Z)
1>CustomSpinBox.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall CustomSpinBox::metaObject(void)const " (?metaObject@CustomSpinBox@@UBEPBUQMetaObject@@XZ)这是我找到的一个示例代码。
https://bitbucket.org/megazig/megagecko/src/c20ec5e7003c/src/qhexspinbox.h
https://bitbucket.org/megazig/megagecko/src/c20ec5e7003c/src/qhexspinbox.cpp
我的版本只是简单了一点。我有一个CustomSpinBox类,我想通过QT Designer的推广功能来集成它。问题是我甚至不能编译这个类。请帮帮我。
我在Visual Studio2010中使用QT 4.7.4,这些错误来自Visual C++。
发布于 2011-12-07 22:37:26
确保在CustomSpinBox.h文件中包含Q_OBJECT宏,然后对项目运行qmake以生成moc-ed内容。
https://stackoverflow.com/questions/8416813
复制相似问题