我正在使用C++编写Qt中的程序。但是由于这个错误,我在这一点上陷入困境。奇怪的是我创建了一个单独的程序,其中下面的代码工作,但是当我把代码放入我的程序中时,我得到一个错误。Qt:对'vtable'的未定义引用
error: undefined reference to `vtable for Create_button_config'
该错误是在我创建类的头文件中。这是发生错误的头文件的一部分。
class Create_button_config : public QObject
{
Q_OBJECT
public:
QMap<QString, QString> buttons;
void setParameters(){
qDebug() << "test";
buttons["ID1"] = "#52B1";
buttons["ID2"] = "#52B2";
buttons["ID3"] = "#52B3";
}
};
我用它在main.cpp中这样
Create_button_config config;
config.setParameters();
哪里这个错误来自任何想法? 顺便说一句,这是一个正确的方式来制作一个可用于整个代码的关联数组?
预先感谢
尝试“运行QMAKE” – Chernobyl
看看类似的问题在这里 - http://stackoverflow.com/questions/2555816/qt-object-linker-problem-undefined-reverence-to-vtable 另外,做在做'qmake'和重建之前,不要忘了'干净',甚至在项目之前用手干净。 – troyane
我不确定系统是否出现问题,但是对于我**删除生成目录**修正了问题。 (甚至“全部清理”还不够)。我想这是因为'moc'(生成)文件无法访问标题。我希望这会帮助某人。 – michalis