【发布时间】:2015-07-03 11:34:52
【问题描述】:
我正在使用 c++ 在 Qt 中开发一个程序。但由于这个错误,我被困在这一点上。奇怪的是,我创建了一个单独的程序,其中以下代码可以工作,但是当我将代码放入我的程序中时,我得到了一个错误。
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”
-
在这里查看类似的问题 -- stackoverflow.com/questions/2555816/… 另外,在进行
qmake和重建之前,不要忘记make clean甚至手动清理您的项目。 -
我不确定我的系统是否有问题,但对我来说删除构建目录解决了这个问题。 (即使“全部清洁”也不够)。我猜这是因为
moc(生成的)文件无法访问标题。我希望这会对某人有所帮助。
标签: c++ qt vtable referenceerror