gpt4 book ai didi

c++ - 链接器错误 : undefined reference to `vtable of QGLViewer’

转载 作者:太空宇宙 更新时间:2023-11-04 16:27:48 25 4
gpt4 key购买 nike

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

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:
};

像这样实现 c'tor:

GLViewer::GLViewer(QWidget *parent, const QGLWidget* shareWidget, Qt::WFlags flags):
QGLViewer(parent,shareWidget,flags)
{
}

我收到链接器错误:

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 文件的内容:

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

FORMS += mainwindow.ui

最佳答案

您没有发布 GLViewer 类的完整实现(仅发布构造函数),但出现此错误的原因:

undefined reference to `vtable for GLViewer'

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

关于c++ - 链接器错误 : undefined reference to `vtable of QGLViewer’ ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10243540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com