2016-07-29 4 views
-1

나는 다음과 같은 코드를 실행하려고 undefined reference to vtable for CustomProgressBar' 오류 받고 있어요 :만들기 사용자 정의 QProgressBar

#ifndef CUSTOMPROGRESSBAR_H 
#define CUSTOMPROGRESSBAR_H 
#include <QProgressBar> 
#include "task.h" 

class CustomProgressBar : public QProgressBar 
{ 
Q_OBJECT 
public: 
    CustomProgressBar(DayTask, QWidget* parent = 0); 
protected: 
    void paintEvent(QPaintEvent *) Q_DECL_OVERRIDE; 

private: 
    DayTask task; 
}; 

#endif // CUSTOMPROGRESSBAR_H 

customprogressbar.cpp

#include "customprogressbar.h" 
#include <QPainter> 

CustomProgressBar::CustomProgressBar(DayTask task, QWidget* parent) : 
    task{task}, 
    QProgressBar(parent) 
{ 

} 
//paintevent 

을 일으킬 수 무엇
customprogressbar.h을 문제?

+1

[VTABLE하는 정의되지 않은 참조]의 사용 가능한 복제 (http://stackoverflow.com/questions/3065154/undefined-reference-to-vtable) –

+0

에 대한 중복의이는 것 같다 'paintEvent' 메쏘드가 가상이고 선언되었지만 정의되지 않았기 때문에 문제가 발생합니다. – maxik

답변

1

헤더에 moc (메타 오브젝트 컴파일러)가 실행되지 않았습니까? 어쨌든, 더 독자 this question

+0

네, 그게 문제였습니다. – 7Y3RPXK3ETDCNRDD

+0

이것은 답변이 아니라 주석이어야합니다. 아직 코멘트 권한이 없다는 것을 알았지 만, 여전히 그 의미가 있습니다. –