首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >链接器错误:对“QGLViewer的`vtable”的未定义引用

链接器错误:对“QGLViewer的`vtable”的未定义引用
EN

Stack Overflow用户
提问于 2012-04-20 09:27:37
回答 3查看 1.9K关注 0票数 0

我在做一个可视化项目。它应该在QGLViewer上查看3d模型。我有一个QGLViewer的子类定义如下:

代码语言:javascript
复制
class GLViewer : public QGLViewer
{
    Q_OBJECT
public:
    explicit GLViewer(QWidget *parent = 0,const QGLWidget* shareWidget=0, Qt::WFlags flags=0);
protected:
    void initializeGL();
    void resizeGL(int width, int height);
    void paintGL();
signals:
public slots:
};

执行这样的命令:

代码语言:javascript
复制
GLViewer::GLViewer(QWidget *parent, const QGLWidget* shareWidget, Qt::WFlags flags):
    QGLViewer(parent,shareWidget,flags)
{
}

我收到链接错误:

代码语言:javascript
复制
glviewer.o: In function `GLViewer::GLViewer(QWidget*, QGLWidget const*, QFlags<Qt::WindowType>)':
glviewer.cpp:(.text+0x18): undefined reference to `vtable for GLViewer'
glviewer.cpp:(.text+0x20): undefined reference to `vtable for GLViewer'

编辑:这是.pro文件的内容:

代码语言:javascript
复制
QT       += core gui opengl xml

TARGET = qglviewer-test
TEMPLATE = app

LIBS += -lqglviewer-qt4 -lGLU -lGLEW

SOURCES += main.cpp\
        mainwindow.cpp \
        glviewer.cpp

HEADERS  += mainwindow.h \
        glviewer.cpp

表单+= mainwindow.ui

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-29 01:45:49

你没有通过moc运行glviewer.h。错误就是这么说的。在您的.pro文件中,更改

代码语言:javascript
复制
HEADERS  += mainwindow.h \
        glviewer.cpp

代码语言:javascript
复制
HEADERS  += mainwindow.h \
        glviewer.h               <------
票数 1
EN

Stack Overflow用户

发布于 2012-04-20 09:57:29

您没有发布GLViewer类的完整实现(只有构造函数),而是获得此错误的原因:

代码语言:javascript
复制
undefined reference to `vtable for GLViewer'

您没有实现一些虚拟函数(我假设是initializeGL()resizeGL(int width, int height)paintGL())。

票数 3
EN

Stack Overflow用户

发布于 2012-04-20 10:08:14

正如VJovic所说,这种问题通常是由未实现的虚拟函数引起的。我注意到没有GLViewer析构函数的声明/定义。QGLViewer的析构函数是virtual函数吗?如果是这样的话,尝试为GLViewer类提供一个析构函数,这可能会解决您的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10243540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档