我正在尝试编写一个使用QOpenGLWidget的C++应用程序,但是qtcreator在此行上显示“找不到'QOpenGLWidget'文件”错误:

#include <QOpenGLWidget>

文档说QOpenGLWidget是在Qt 5.4中引入的,我相信我正在运行Qt 5.12.1。 'qmake --version'给出:
QMake version 3.1
Using Qt version 5.12.1 in /home/oreilly/Qt5.12.1/5.12.1/gcc_64/lib

此外,qtcreator工具->选项->套件也表示Qt 5.12.1。 qtcreator允许我包括QOpenGLWindow(也在Qt 5.4中与QOpenGLWidget一起引入),编译和链接OpenGL应用程序而没有错误。

我究竟做错了什么? QOpenGLWidget在哪里?

谢谢
汤姆

最佳答案

QOpenGLWidget不是主要QtCore / QtWidgets库的一部分;而是它是单独(QtOpenGL)库的一部分,该库的 header 位于默认情况下不属于Qt包含路径的目录中。

幸运的是,将QtOpenGL的 header 添加到include-path很容易。只需将以下行插入.pro文件即可:

 QT += opengl

...,然后运行qmake更新您的Makefile / Project文件,您应该能够使用OpenGL类进行编译。

09-06 11:06