首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用QGLWidget编译Qt

无法使用QGLWidget编译Qt
EN

Stack Overflow用户
提问于 2016-01-04 04:21:23
回答 1查看 315关注 0票数 1

我正在用c++编写一个Maya插件。然而,每当我想要使用QGLWidget时,我都会收到大量的vtable错误:

代码语言:javascript
复制
Undefined symbols for architecture x86_64:
  "QGLWidget::paintEvent(QPaintEvent*)", referenced from:
      vtable for GLWidget in myOpenGLWindowClass.o
  "QGLWidget::qt_metacall(QMetaObject::Call, int, void**)", referenced from:
      vtable for GLWidget in myOpenGLWindowClass.o
  "QGLWidget::qt_metacast(char const*)", referenced from:
      vtable for GLWidget in myOpenGLWindowClass.o
  "QGLWidget::resizeEvent(QResizeEvent*)", referenced from:
      vtable for GLWidget in myOpenGLWindowClass.o
  "QGLWidget::paintOverlayGL()", referenced from:
      vtable for GLWidget in myOpenGLWindowClass.o
  "QGLWidget::resizeOverlayGL(int, int)", referenced from:
      vtable for GLWidget in myOpenGLWindowClass.o
  "QGLWidget::updateOverlayGL()", referenced from:
      vtable for GLWidget in myOpenGLWindowClass.
...

代码如下:

代码语言:javascript
复制
#include <QtGui/QApplication>
#include <QGLWidget>

class GLWidget :public QGLWidget
{

public:
    GLWidget(QWidget *parent = 0);
    virtual ~GLWidget(){};
protected:
    virtual void initializeGL();
    virtual void resizeGL( int width, int height );
    virtual void paintGL();

};

GLWidget::GLWidget(QWidget *parent) : QGLWidget(parent)
{

}

void GLWidget::initializeGL() {
    glDisable(GL_TEXTURE_2D);
    glDisable(GL_DEPTH_TEST);
    glDisable(GL_COLOR_MATERIAL);
    glEnable(GL_BLEND);
    glEnable(GL_POLYGON_SMOOTH);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    glClearColor(0, 0, 0, 0);
}

void GLWidget::resizeGL(int w, int h)
{
    glViewport(0, 0, w, h);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}

void GLWidget::paintGL()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(1,0,0);
    glBegin(GL_POLYGON);
    glVertex2f(0,0);
    glVertex2f(100,500);
    glVertex2f(500,100);
    glEnd();
}

有没有需要添加到编译中的库或其他错误?

EN

回答 1

Stack Overflow用户

发布于 2016-01-04 04:33:56

我需要在编译中添加QtOpenGL框架。

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

https://stackoverflow.com/questions/34581173

复制
相关文章

相似问题

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