QGLWidget + unresolved external symbols

Verschiedenes zu Qt
Antworten
FreakyBKA
Beiträge: 26
Registriert: 3. März 2008 09:57

QGLWidget + unresolved external symbols

Beitrag von FreakyBKA »

Info: VS2008EE + Qt 4.3.4

Hallo,
also ich habe meinem QT-Programm ein OpenGl Widget hinzufügen allerdings bekomme ich beim Linken folgende Fehlermeldungen:

Code: Alles auswählen

frm_main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QGLWidget::QGLWidget(class QWidget *,class QGLWidget const *,class QFlags<enum Qt::WindowType>)" (__imp_??0QGLWidget@@QAE@PAVQWidget@@PBV0@V?$QFlags@W4WindowType@Qt@@@@@Z) referenced in function "public: __thiscall GLWidget::GLWidget(class QWidget *)" (??0GLWidget@@QAE@PAVQWidget@@@Z)
frm_main.obj : error LNK2001: unresolved external symbol "protected: virtual bool __thiscall QGLWidget::event(class QEvent *)" (?event@QGLWidget@@MAE_NPAVQEvent@@@Z)
frm_main.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QGLWidget::paintEvent(class QPaintEvent *)" (?paintEvent@QGLWidget@@MAEXPAVQPaintEvent@@@Z)
frm_main.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QGLWidget::resizeEvent(class QResizeEvent *)" (?resizeEvent@QGLWidget@@MAEXPAVQResizeEvent@@@Z)
frm_main.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall QGLWidget::updateGL(void)" (?updateGL@QGLWidget@@UAEXXZ)
frm_main.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall QGLWidget::updateOverlayGL(void)" (?updateOverlayGL@QGLWidget@@UAEXXZ)
frm_main.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QGLWidget::initializeOverlayGL(void)" (?initializeOverlayGL@QGLWidget@@MAEXXZ)
frm_main.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QGLWidget::resizeOverlayGL(int,int)" (?resizeOverlayGL@QGLWidget@@MAEXHH@Z)
frm_main.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QGLWidget::paintOverlayGL(void)" (?paintOverlayGL@QGLWidget@@MAEXXZ)
frm_main.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QGLWidget::glInit(void)" (?glInit@QGLWidget@@MAEXXZ)
frm_main.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QGLWidget::glDraw(void)" (?glDraw@QGLWidget@@MAEXXZ)
frm_main.obj : error LNK2001: unresolved external symbol "public: virtual class QPaintEngine * __thiscall QGLWidget::paintEngine(void)const " (?paintEngine@QGLWidget@@UBEPAVQPaintEngine@@XZ)
frm_main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QGLWidget::~QGLWidget(void)" (__imp_??1QGLWidget@@UAE@XZ) referenced in function "public: virtual __thiscall GLWidget::~GLWidget(void)" (??1GLWidget@@UAE@XZ)
moc_frm_main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual void * __thiscall QGLWidget::qt_metacast(char const *)" (__imp_?qt_metacast@QGLWidget@@UAEPAXPBD@Z) referenced in function "public: virtual void * __thiscall GLWidget::qt_metacast(char const *)" (?qt_metacast@GLWidget@@UAEPAXPBD@Z)
moc_frm_main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual int __thiscall QGLWidget::qt_metacall(enum QMetaObject::Call,int,void * *)" (__imp_?qt_metacall@QGLWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z) referenced in function "public: virtual int __thiscall GLWidget::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@GLWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
moc_frm_main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static struct QMetaObject const QGLWidget::staticMetaObject" (__imp_?staticMetaObject@QGLWidget@@2UQMetaObject@@B)
leider kann ich damit nicht viel anfangen. ich hab mich beim Quellcode an den Qt-Beispielen orientiert, aber das klappt halt irgendwie trotzdem nicht.

Code: Alles auswählen

class GLWidget :
	public QGLWidget
{
     Q_OBJECT

	public:
     GLWidget(QWidget *parent = 0)
     : QGLWidget(parent)
		 {};

	protected:

     void initializeGL(){};
     void resizeGL(int w, int h){};
     void paintGL(){};
};
prinzipiell macht die klasse noch nichts, aber lässt sich ja nichtmal linken von daher ist das auch egal.
Wenn mir jemand helfen kann, wäre ich sehr dankbar. Falls noch Informationen nötig sind kann ich die gerne noch posten.
Vielen Dank schon mal im Voraus
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Sieht aus als ob du die Bibliotheken in den Linkerangaben nicht hinzugefügt hast.
FreakyBKA
Beiträge: 26
Registriert: 3. März 2008 09:57

Beitrag von FreakyBKA »

besten dank, das war genau der richtige hinweis :D
Antworten