Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Qt4/OpenGL Problem

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.10.2005
    Beiträge
    25

    Qt4/OpenGL Problem

    Hallo,

    ich wollte mal meine OpenGL Sachen mit QT kombinieren, was jedoch nicht will. Ich habe es mal mit den Beispielen aus der Doku versucht, was aber auch nicht geht, ich bekomme nur solche Meldungen :

    nach einem make kommt :

    g++ -o roboter borderlayout.o main.o mainframe.o roboter.o moc_roboter.o -L/usr/lib -lQtGui_debug -lQtCore_debug -lpthread
    /usr/bin/ld: warning: libstdc++.so.6, needed by /usr/lib/libQtGui_debug.so, may conflict with libstdc++.so.5
    main.o(.gnu.linkonce.t._ZN7RoboterD1Ev+0x22): In function `Roboter::~Roboter [in-charge]()':
    /home/tsluga/workspace/graphik_II/roboter/main.cpp:6: undefined reference to `QGLWidget::~QGLWidget [not-in-charge]()'
    roboter.o(.text+0x37): In function `Roboter::Roboter[not-in-charge](QWidget*)':
    /usr/include/qt4/QtCore/qglobal.h:744: undefined reference to `QGLWidget::QGLWidget[not-in-charge](QWidget*, QGLWidget const*, QFlags<Qt::WindowType>)'
    roboter.o(.text+0x75): In function `Roboter::Roboter[not-in-charge](QWidget*)':
    /home/tsluga/workspace/graphik_II/roboter/roboter.cpp:7: undefined reference to `QGLWidget::~QGLWidget [not-in-charge]()'
    roboter.o(.text+0xc5): In function `Roboter::Roboter[in-charge](QWidget*)':
    /home/tsluga/workspace/graphik_II/roboter/roboter.cpp:5: undefined reference to `QGLWidget::QGLWidget[not-in-charge](QWidget*, QGLWidget const*, QFlags<Qt::WindowType>)'
    roboter.o(.text+0x103):/home/tsluga/workspace/graphik_II/roboter/roboter.cpp:7: undefined reference to `QGLWidget::~QGLWidget [not-in-charge]()'
    roboter.o(.text+0x130): In function `Roboter:aintGL()':
    /home/tsluga/workspace/graphik_II/roboter/roboter.cpp:16: undefined reference to `glClear'
    roboter.o(.text+0x135):/home/tsluga/workspace/graphik_II/roboter/roboter.cpp:18: undefined reference to `glFlush'
    roboter.o(.text+0x19d): In function `Roboter::resizeGL(int, int)':
    /home/tsluga/workspace/graphik_II/roboter/roboter.cpp:24: undefined reference to `glViewport'
    roboter.o(.text+0x1a9):/home/tsluga/workspace/graphik_II/roboter/roboter.cpp:25: undefined reference to `glMatrixMode'
    roboter.o(.text+0x1ae):/home/tsluga/workspace/graphik_II/roboter/roboter.cpp:26: undefined reference to `glLoadIdentity'
    roboter.o(.text+0x1e6):/home/tsluga/workspace/graphik_II/roboter/roboter.cpp:27: undefined reference to `glFrustum'
    roboter.o(.text+0x1f2):/home/tsluga/workspace/graphik_II/roboter/roboter.cpp:28: undefined reference to `glMatrixMode'
    roboter.o(.text+0x1f7):/home/tsluga/workspace/graphik_II/roboter/roboter.cpp:29: undefined reference to `glLoadIdentity'
    roboter.o(.text+0x211):/home/tsluga/workspace/graphik_II/roboter/roboter.cpp:30: undefined reference to `glTranslated'
    moc_roboter.o(.text+0x4c): In function `Roboter::qt_metacast(char const*)':
    /usr/include/qt4/QtCore/qlist.h:492: undefined reference to `QGLWidget::qt_metacast(char const*)'
    moc_roboter.o(.text+0x7a): In function `Roboter::qt_metacall(QMetaObject::Call, int, void**)':
    /home/tsluga/workspace/graphik_II/roboter/moc_roboter.cpp:56: undefined reference to `QGLWidget::qt_metacall(QMetaObject::Call, int, void**)'
    moc_roboter.o(.rodata+0x0): undefined reference to `QGLWidget::staticMetaObject'
    moc_roboter.o(.gnu.linkonce.r._ZTV7Roboter+0x1c):/home/tsluga/workspace/graphik_II/roboter/moc_roboter.cpp:48: undefined reference to `QGLWidget::event(QEvent*)'
    moc_roboter.o(.gnu.linkonce.r._ZTV7Roboter+0x4c):/usr/include/qt4/QtCore/qlist.h:492: undefined reference to `QGLWidget:aintEngine() const'
    moc_roboter.o(.gnu.linkonce.r._ZTV7Roboter+0x7c):/home/tsluga/workspace/graphik_II/roboter/moc_roboter.cpp:56: undefined reference to `QGLWidget:aintEvent(QPaintEvent*)'
    moc_roboter.o(.gnu.linkonce.r._ZTV7Roboter+0x84):/home/tsluga/workspace/graphik_II/roboter/moc_roboter.cpp:57: undefined reference to `QGLWidget::resizeEvent(QResizeEvent*)'
    moc_roboter.o(.gnu.linkonce.r._ZTV7Roboter+0xe0): undefined reference to `QGLWidget::updateGL()'
    moc_roboter.o(.gnu.linkonce.r._ZTV7Roboter+0xe4): undefined reference to `QGLWidget::updateOverlayGL()'
    moc_roboter.o(.gnu.linkonce.r._ZTV7Roboter+0xf4): undefined reference to `QGLWidget::initializeOverlayGL()'
    moc_roboter.o(.gnu.linkonce.r._ZTV7Roboter+0xf8): undefined reference to `QGLWidget::resizeOverlayGL(int, int)'
    moc_roboter.o(.gnu.linkonce.r._ZTV7Roboter+0xfc): undefined reference to `QGLWidget:aintOverlayGL()'
    moc_roboter.o(.gnu.linkonce.r._ZTV7Roboter+0x100): undefined reference to `QGLWidget::glInit()'
    moc_roboter.o(.gnu.linkonce.r._ZTV7Roboter+0x104): undefined reference to `QGLWidget::glDraw()'
    moc_roboter.o(.gnu.linkonce.r._ZTV7Roboter+0x11c): undefined reference to `non-virtual thunk [nv:-8] to QGLWidget:aintEngine() const'
    moc_roboter.o(.gnu.linkonce.t._ZN7RoboterD0Ev+0x22 ): In function `Roboter::~Roboter [in-charge deleting]()':
    /home/tsluga/workspace/graphik_II/roboter/moc_roboter.cpp:49: undefined reference to `QGLWidget::~QGLWidget [not-in-charge]()'
    moc_roboter.o(.gnu.linkonce.r._ZTI7Roboter+0x8):/home/tsluga/workspace/graphik_II/roboter/moc_roboter.cpp:44: undefined reference to `typeinfo for QGLWidget'
    collect2: ld returned 1 exit status
    make: *** [roboter] Fehler 1
    Weiß einer weiter ?

    Ohne OpenGL Sachen, also ein einfaches Fenster & Co. geht problemlos.

  2. #2
    Registrierter Benutzer Avatar von Detrius
    Registriert seit
    09.03.2004
    Ort
    Altena
    Beiträge
    64
    Das schaut nach einer Reiher hübscher Fehler vom Linker aus. Hast Du ein paar Bibliotheken vergessen mit anzugeben?

    /usr/bin/ld: warning: libstdc++.so.6, needed by /usr/lib/libQtGui_debug.so, may conflict with libstdc++.so.5
    Das würde mir auch zu denken geben. Das schaut so aus, als wenn libQtGui_debug mit einer anderen Version von g++ gebaut wäre, als Du jetzt benutzt.

  3. #3
    Registrierter Benutzer
    Registriert seit
    23.10.2005
    Beiträge
    25
    Gefehlt hat ein -lQtOpenGL in der Makefile.

    Jetzt habe ich folgendes Problem ( Debian sarge )

    Wenn ich eine Awendung mit QtOpenGL starte, friert mir die Kiste ein.
    Ich habe mal die Mesa Sachen installiert, dann läuft es wieder, bei der Installation von Mesa wird mir wieder QT deinstalliert . Weiß einer wie ich aus diesem Dilema rauskomme ?

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •