QGLWidget link error on ROS (Kinetic)

asked 2019-01-30 00:10:14 -0500

odoncn gravatar image

updated 2019-01-30 03:03:09 -0500

gvdhoorn gravatar image

I am trying the OPENGL programing under ROS + QT, but found it not able to use QGLWidget.

#include <QtOpenGL/QGLWidget>
class MyGLWidget : QGLWidget 

{
};

    MyGLWidget myWidget;

got ld error:

Scanning dependencies of target glros
[  9%] Building CXX object glros/CMakeFiles/glros.dir/src/main.cpp.o
[ 18%] Linking CXX executable /home/pkr/ros_ws/devel/lib/glros/glros
CMakeFiles/glros.dir/src/main.cpp.o: In function `MyGLWidget::MyGLWidget()':
main.cpp:(.text._ZN10MyGLWidgetC2Ev[_ZN10MyGLWidgetC5Ev]+0x45): undefined reference to `QGLWidget::QGLWidget(QWidget*, QGLWidget const*, QFlags<Qt::WindowType>)'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0x10): undefined reference to `QGLWidget::metaObject() const'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0x18): undefined reference to `QGLWidget::qt_metacast(char const*)'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0x20): undefined reference to `QGLWidget::qt_metacall(QMetaObject::Call, int, void**)'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0x38): undefined reference to `QGLWidget::event(QEvent*)'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0x98): undefined reference to `QGLWidget::paintEngine() const'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0xf8): undefined reference to `QGLWidget::paintEvent(QPaintEvent*)'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0x108): undefined reference to `QGLWidget::resizeEvent(QResizeEvent*)'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0x1c0): undefined reference to `QGLWidget::updateGL()'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0x1c8): undefined reference to `QGLWidget::updateOverlayGL()'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0x1d0): undefined reference to `QGLWidget::initializeGL()'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0x1d8): undefined reference to `QGLWidget::resizeGL(int, int)'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0x1e0): undefined reference to `QGLWidget::paintGL()'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0x1e8): undefined reference to `QGLWidget::initializeOverlayGL()'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0x1f0): undefined reference to `QGLWidget::resizeOverlayGL(int, int)'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0x1f8): undefined reference to `QGLWidget::paintOverlayGL()'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0x200): undefined reference to `QGLWidget::glInit()'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0x208): undefined reference to `QGLWidget::glDraw()'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTV10MyGLWidget[_ZTV10MyGLWidget]+0x238): undefined reference to `non-virtual thunk to QGLWidget::paintEngine() const'
CMakeFiles/glros.dir/src/main.cpp.o: In function `MyGLWidget::~MyGLWidget()':
main.cpp:(.text._ZN10MyGLWidgetD2Ev[_ZN10MyGLWidgetD5Ev]+0x2d): undefined reference to `QGLWidget::~QGLWidget()'
CMakeFiles/glros.dir/src/main.cpp.o:(.rodata._ZTI10MyGLWidget[_ZTI10MyGLWidget]+0x18): undefined reference to `typeinfo for QGLWidget'
collect2: error: ld returned 1 exit status
glros/CMakeFiles/glros.dir/build.make:270: recipe for target '/home/pkr/ros_ws/devel/lib/glros/glros' failed
make[2]: *** [/home/pkr/ros_ws/devel/lib/glros/glros] Error 1
CMakeFiles/Makefile2:437: recipe for target 'glros/CMakeFiles/glros.dir/all' failed
make[1]: *** [glros/CMakeFiles/glros.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make ...
(more)
edit retag flag offensive close merge delete

Comments

CMakeLists.txt as

##############################################################################

CMake

##############################################################################

cmake_minimum_required(VERSION 2.8.0) project(glros)

########################################################

odoncn gravatar image odoncn  ( 2019-01-30 00:11:30 -0500 )edit