无法使用QGLWidget编译Qt
Unable to compile Qt using QGLWidget
我正在用c++编写一个Maya插件。然而,每当我想使用QGLWidget时,我都会收到大量vtable错误:
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.
...
这是代码:
#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();
}
我的汇编中是否需要添加库或其他错误内容?
我需要在编译中添加QtOpenGL框架。
相关文章:
- 使用 Bazel 编译 QT 应用程序时访问资源
- 如何使用MinGW编译器和SSL支持静态编译Qt
- 我可以在不使用Qt for Webassembly的情况下使用Emscripten编译Qt吗?
- 在 centos 7 上编译 Qt 5.11.1 中的错误
- 使用其他编译器编译QT代码
- 为arm64-v8a编译Qt和OpenCV
- C++编译Qt for Visual Studio 2017的问题
- 编译Qt项目,得到错误QQmlEngine:没有这样的文件或目录编译终止
- 编译Qt项目给出了对运算符delete(void*,unsigned int)的未定义引用
- Qt项目与自定义共享库交叉编译Qt
- 交叉编译 qt:加载共享库时出错
- 交叉编译Qt模块(不构建完全全新构建)并添加到现有Qt中
- 如何静态编译QT 5应用程序
- 无法编译QT创建快速应用程序项目
- 编译 Qt 安装程序框架静态
- 如何在QT Creator开源版本中为嵌入式Linux交叉编译qt
- 尝试在代码块中编译 Qt/C++ 代码
- 我可以在编译Qt应用程序的同时忽略Qt的打包库吗?
- 使用 Qt (Ubuntu 14.04) 编译 qt-dab 时出错
- 无法使用qlogvalueaxis.h编译Qt项目