Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: opengl v qt [vyřešeno]  (Přečteno 2279 krát)

dadam

  • Aktivní člen
  • *
  • Příspěvků: 151
opengl v qt [vyřešeno]
« kdy: 21 Května 2009, 21:25:10 »
Zdravím, jak zjistím, jestli moje instalace Qt má podporu OpenGL? Zkouším překládat projekt a vypisuje mi následující chyby:
Kód: [Vybrat]
main.cpp:(.text+0xf5): undefined reference to `QGLWidget::QGLWidget(QWidget*, QGLWidget const*, QFlags<Qt::WindowType>)'
main.o: In function `main':
main.cpp:(.text+0x180): undefined reference to `QGLWidget::~QGLWidget()'
main.cpp:(.text+0x1ce): undefined reference to `QGLWidget::~QGLWidget()'
main.o: In function `QCarModel::QCarModel(QWidget*)':
main.cpp:(.text+0x1f5): undefined reference to `QGLWidget::QGLWidget(QWidget*, QGLWidget const*, QFlags<Qt::WindowType>)'
moc_QCarModel.o: In function `QCarModel::qt_metacall(QMetaObject::Call, int, void**)':
moc_QCarModel.cpp:(.text+0x11): undefined reference to `QGLWidget::qt_metacall(QMetaObject::Call, int, void**)'
moc_QCarModel.o: In function `QCarModel::qt_metacast(char const*)':
moc_QCarModel.cpp:(.text+0x57): undefined reference to `QGLWidget::qt_metacast(char const*)'
moc_QCarModel.o: In function `QCarModel::~QCarModel()':
moc_QCarModel.cpp:(.text._ZN9QCarModelD1Ev[QCarModel::~QCarModel()]+0x20): undefined reference to `QGLWidget::~QGLWidget()'
moc_QCarModel.o: In function `QCarModel::~QCarModel()':
moc_QCarModel.cpp:(.text._ZN9QCarModelD0Ev[QCarModel::~QCarModel()]+0x24): undefined reference to `QGLWidget::~QGLWidget()'
moc_QCarModel.o:(.rodata+0x0): undefined reference to `QGLWidget::staticMetaObject'
moc_QCarModel.o:(.rodata._ZTV9QCarModel[vtable for QCarModel]+0x38): undefined reference to `QGLWidget::event(QEvent*)'
moc_QCarModel.o:(.rodata._ZTV9QCarModel[vtable for QCarModel]+0x98): undefined reference to `QGLWidget::paintEngine() const'
moc_QCarModel.o:(.rodata._ZTV9QCarModel[vtable for QCarModel]+0xf8): undefined reference to `QGLWidget::paintEvent(QPaintEvent*)'
moc_QCarModel.o:(.rodata._ZTV9QCarModel[vtable for QCarModel]+0x108): undefined reference to `QGLWidget::resizeEvent(QResizeEvent*)'
moc_QCarModel.o:(.rodata._ZTV9QCarModel[vtable for QCarModel]+0x1c0): undefined reference to `QGLWidget::updateGL()'
moc_QCarModel.o:(.rodata._ZTV9QCarModel[vtable for QCarModel]+0x1c8): undefined reference to `QGLWidget::updateOverlayGL()'
moc_QCarModel.o:(.rodata._ZTV9QCarModel[vtable for QCarModel]+0x1e8): undefined reference to `QGLWidget::initializeOverlayGL()'
moc_QCarModel.o:(.rodata._ZTV9QCarModel[vtable for QCarModel]+0x1f0): undefined reference to `QGLWidget::resizeOverlayGL(int, int)'
moc_QCarModel.o:(.rodata._ZTV9QCarModel[vtable for QCarModel]+0x1f8): undefined reference to `QGLWidget::paintOverlayGL()'
moc_QCarModel.o:(.rodata._ZTV9QCarModel[vtable for QCarModel]+0x200): undefined reference to `QGLWidget::glInit()'
moc_QCarModel.o:(.rodata._ZTV9QCarModel[vtable for QCarModel]+0x208): undefined reference to `QGLWidget::glDraw()'
moc_QCarModel.o:(.rodata._ZTV9QCarModel[vtable for QCarModel]+0x238): undefined reference to `non-virtual thunk to QGLWidget::paintEngine() const'
moc_QCarModel.o:(.rodata._ZTI9QCarModel[typeinfo for QCarModel]+0x10): undefined reference to `typeinfo for QGLWidget'

Příkaz pro linkování:
Kód: [Vybrat]
g++ -Wl,-O1 -o CarModel DrawScene.o main.o moc_QCarModel.o    -L/usr/X11R6/lib -L/usr/lib -lGLU -lGL -lQtGui -lQtCore -lpthread
« Poslední změna: 22 Května 2009, 00:21:41 od kiklhorn »

mk33

  • Aktivní člen
  • *
  • Příspěvků: 300
Re: opengl v qt
« Odpověď #1 kdy: 21 Května 2009, 21:53:37 »
Qt by OpenGl mělo umět v základu. Zkus si dyžtak přeložit nějaký ukázkový prográmky. Měly by být součástí instalace, u mě jsou v tomhle adresáři /usr/local/Trolltech/Qt-4.4.1/examples/opengl
začínám tak trpělivost a pevné nervy :-) since  21. Listopad 2006
-------------------------------------------------------------------------
|Aopen MX4SGI-4DN2|P4 2,8GHz HT|2x512MB RAM|ATI 9550|Linux Mint 9 Isadora|  |Asus P4B533|P4 1,8GHz|3x256 MB RAM|ATI 7500|Ubuntu 7.04|  |IBM Thinkpad T40p|Ubuntu 9.04|  |Lenovo Thinkpad T61|Linux Mint 9 Isadora|Lenovo Thinkpad T410|Linux Mint 13

dadam

  • Aktivní člen
  • *
  • Příspěvků: 151
Re: opengl v qt
« Odpověď #2 kdy: 21 Května 2009, 22:33:33 »
Tak příklady mi to překládá. Nicméně se chová trochu podivně - v příkladech vkládaný hlavičkový soubor <QtOpenGL> mi v projektu nemůže najít...

dadam

  • Aktivní člen
  • *
  • Příspěvků: 151
Re: opengl v qt
« Odpověď #3 kdy: 22 Května 2009, 00:16:53 »
Tak nakonec stačilo přilinkovat knihovnu QtOpenGL

Martin - ViPEr*CZ*

Re: opengl v qt [vyřešeno]
« Odpověď #4 kdy: 22 Května 2009, 02:33:30 »
Asi nepoužíváte qmake.? Ten by si to měl najít automaticky, které qt knihovny je potřeba přilinkovat. Nebo využít třeba nějaké IDE. Např qt Creator.
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

dadam

  • Aktivní člen
  • *
  • Příspěvků: 151
Re: opengl v qt [vyřešeno]
« Odpověď #5 kdy: 22 Května 2009, 10:24:13 »
qmake používám:
Kód: [Vybrat]
qmake -project
#do .pro souboru doplnim CONFIG += opengl; což je chyba, má se přidat do proměnné QT
qmake
#do LIBS v Makefile doplnim -lQtOpenGL; přidáním do QT místo CONFIG se tento krok provede automaticky
make

Qt Creator mám, ale chcu tomu všemu nejdřív trochu porozumět :)

 

Provoz zaštiťuje spolek OpenAlt.