Qt与代码块-未定义的引用虚表
Qt with codeblocks - undefined reference to vtable
我在qt中创建了项目(GUI和逻辑骨架),然后我在代码块中创建了qt项目,以便在这个IDE中做编码部分。
不幸的是,我得到错误的风格:未定义的引用为Calc_Button虚表等
这段代码可以很好地用Qt编译,但它不想用代码块编译。使用相同的编译器。
我可以提供代码,但它真的相当多——甚至只是存根。
这就是Calc_Button类的样子:
#ifndef CALC_BUTTON_H
#define CALC_BUTTON_H
#include <QPushButton>
class Calc_Button : public QPushButton
{
Q_OBJECT
private:
protected:
public:
explicit Calc_Button(QWidget *parent = 0);
signals:
void clicked(QString);
public slots:
void click()
{
emit clicked(QString(this->text()));
}
};
#endif // CALC_BUTTON_H
,这是cpp:
#include "calc_button.h"
Calc_Button::Calc_Button(QWidget *parent) : QPushButton(parent)
{
}
这个错误信息通常是误导,但它的实际原因(通常)是您没有定义一个虚函数。
下面是一个示例演示:
class MyClass
{
public:
virtual void doSomething() { }
virtual void doSomethingMore();
};
int main()
{
MyClass obj;
obj.doSomething();
obj.doSomethingMore();
return 0;
}
编译信息:
/home/4 vqwl0/ccMjLi2V。0:在函数
main':
vtable for MyClass
prog.cpp:(.text+0x19): undefined reference to.
MyClass::doSomethingMore()'
prog.cpp:(.text+0x1e): undefined reference to
Collect2: ld返回1退出状态
优秀阅读:
"虚表"是一个未解析的外部表是什么意思?
相关文章:
- 在脚本运行后引用 lua 表/对象
- 如何引用符号表中的值?
- 虚表中虚函数的地址
- 通过虚表接口使用Excel
- 在静态分配对象上调用虚函数时使用的虚表
- 为什么在析构函数中将虚表设置回该级别
- 编译一个Qt单文件从命令行:未定义的引用到虚表
- Qt与代码块-未定义的引用虚表
- 在多重继承中,被重写的虚方法保存在c++的虚表中
- 对虚表的未定义引用.Q_OBJECT宏
- 在c++中禁用虚函数的动态绑定(创建虚表)
- 尽管没有虚函数,对虚表的未定义引用
- 引用虚函数
- c++虚表查询
- 虚表的顺序重要吗?
- 对虚表、构造函数和析构函数的未定义引用
- 我试图访问一个c++多态类的虚表,但失败的核心转储,为什么
- 对虚表的未定义引用
- 不带虚表的c++动态分派
- 未定义对类的虚表的引用