[英]Qt with codeblocks - undefined reference to vtable
我已經在qt中創建了項目(GUI和邏輯框架),然后在代碼塊中創建了QT項目,以便在此IDE中進行編碼。
不幸的是,我在樣式上遇到錯誤:Calc_Button等對vtable的未定義引用。
這段代碼可以使用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/4VqWl0/ccMjLi2V.o:在函數
main':
prog.cpp:(.text+0x19): undefined reference tomain':
prog.cpp:(.text+0x19): undefined reference tomain':
的vtable為MyClass的
prog.cpp:(.text+0x19): undefined reference to.
prog.cpp:(.text+0x1e): undefined reference to.
prog.cpp:(.text+0x1e): undefined reference to.
MyClass :: doSomethingMore()的
prog.cpp:(.text+0x1e): undefined reference to.
prog.cpp:(.text+0x1e): undefined reference to
collect2:ld返回1退出狀態
讀得好:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.