【发布时间】:2016-05-14 18:42:49
【问题描述】:
我正在使用 OpenGL 在 Qt 中工作。
我编写了一些在 Desktop Qt 上编译和运行的代码。当我尝试在 Android 上编译代码时,我收到一条错误消息,提示未声明 OpenGL 库。
有什么问题?
#include "mainwindow.h"
#include <QApplication>
#include <QGLFunctions>
#include <QGLWidget>
class app: public QGLWidget, QGLFunctions{
public:
void initializeGL();
void paintGL();
void resizeGL();
};
void app::initializeGL(){
qglClearColor(Qt::black);
}
void app::resizeGL(){
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glViewport(0,0,(GLint)200,(GLint)200);
glOrtho(0,100,100,0,-1,1);
}
void app::paintGL(){
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_QUADS);
glColor3f(1,0,0);
glVertex2f(0,100);
glColor3f(0,1,0);
glVertex2f(100,100);
glColor3f(0,0,1);
glVertex2f(100,0);
glColor3f(1,1,1);
glVertex2f(0,0);
glEnd();
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
app App;
App.show();
return a.exec();
}
【问题讨论】:
-
不确定“在 Android 上编译”是什么意思……但这并不重要。该代码不是 Android 应用程序,如果不进行大量进一步移植,它将无法工作。
-
您缺少 OpenGL 标头的包含。