Qt:未定义的对'vtable'引用
Qt: Undefined reference to 'vtable'
我正在Qt中使用c++编写一个程序。但由于这个错误,我陷入了困境。奇怪的是,我创建了一个单独的程序,下面的代码在其中工作,但当我把代码放在程序中时,我得到了一个错误。
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();
你知道这个错误是从哪里来的吗?顺便问一下,这是制作一个关联数组的正确方法吗?这个数组在我的整个代码中都可用?
提前感谢
缺少vtable通常是链接器参数中未包含moc
的输出的症状。请确保在标头上运行了moc
,并链接了结果。
请注意,如果您使用的是qmake
,如果您将一个不是Q_OBJECT
的类更改为现在的Q_OBJECT
,则可能需要重新运行qmake
来生成新的makefile——否则它将不知道应该运行moc
。
顺便说一句,添加一个接受可选父QObject
的构造函数是个好主意,这样可以在用户需要的地方获得Qt内存管理(释放子对象(的一些好处。
相关文章:
- 纯虚拟类和错误未定义对 'vtable 的引用
- 对植物的 vtable 的未定义引用?
- 使用多个命名空间对 vtable 的未定义引用
- 对"车辆的 vtable"的未定义引用 - 面向对象的编程练习
- Qt Quick + CMake + 自定义 QObject 导致对"vtable"的未定义引用
- C++ 未定义对 vtable 异常的引用
- 为每个抽象函数定义主体后,对VTable的不确定引用
- 看起来如此主要的错误.cpp:(.text.startup+0xd6):未定义对"vtable for Counter"的引用?
- 用嵌套类对VTable的未定义引用
- 未定义对 vtable 错误的引用
- 对'vtable for class'的未定义引用
- 奇怪的未定义引用了`vtable
- 构造函数中对"vtable"的未定义引用
- C++ 继承问题:未定义对"vtable"的引用
- 构造函数中对 vtable 的未定义引用
- 在 qt 控制台应用程序中未定义对 'vtable for myObj' 的引用 - 信号和插槽
- 对"vtable for "命名空间继承的未定义引用 对"类型信息"的未定义引用
- 对具有继承的 vtable 的未定义引用
- 实现虚拟函数时对 vtable 的未定义引用
- Qt:未定义的对'vtable'引用