Ich verwende 64-Bit-Ubuntu 14.04.
Der Kompilierungsfehler, den ich erhalte, ist:
In file included from ../../../Qt/5.4/gcc_64/include/QtOpenGL/qgl.h:39:0,
from ../../../Qt/5.4/gcc_64/include/QtOpenGL/qglshaderprogram.h:37,
from ../../../Qt/5.4/gcc_64/include/QtOpenGL/QGLShaderProgram:1,
from glwidget.h:5,
from glwidget.cpp:1:
../../../Qt/5.4/gcc_64/include/QtGui/qopengl.h:122:21: fatal error: GL/gl.h: No such file or directory
# include <GL/gl.h>
^
Seltsamerweise habe ich libGL.so ordnungsgemäß installiert und mit den OpenGL-Bibliotheken verknüpft, die von meinem Nvidia 343-Anzeigetreiber installiert wurden (von dem ich annehme, dass er auch OpenGL-Treiber installiert).
$ ls -l /usr/lib | grep -i libgl
lrwxrwxrwx 1 root root 17 Jan 15 12:47 libGLESv1_CM.so -> libGLESv1_CM.so.1
lrwxrwxrwx 1 root root 22 Jan 15 12:47 libGLESv1_CM.so.1 -> libGLESv1_CM.so.343.36
-rwxr-xr-x 1 root root 48248 Jan 15 12:47 libGLESv1_CM.so.343.36
lrwxrwxrwx 1 root root 14 Jan 15 12:47 libGLESv2.so -> libGLESv2.so.2
lrwxrwxrwx 1 root root 19 Jan 15 12:47 libGLESv2.so.2 -> libGLESv2.so.343.36
-rwxr-xr-x 1 root root 62352 Jan 15 12:47 libGLESv2.so.343.36
-rw-r--r-- 1 root root 654 Jan 15 12:47 libGL.la
lrwxrwxrwx 1 root root 10 Jan 15 12:47 libGL.so -> libGL.so.1
lrwxrwxrwx 1 root root 15 Jan 15 12:47 libGL.so.1 -> libGL.so.343.36
-rwxr-xr-x 1 root root 1274520 Jan 15 12:47 libGL.so.343.36
Ich habe einige frühere Beiträge gesehen, die dies vorschlagen
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
Als ich das versuchte, wurde meine unterstützte OpenGL-Version (wie von glxinfo ausgegeben) auf Version 1.4 herabgestuft. Ich bin mir auch nicht sicher, warum das helfen soll.
Hier ist meine glxinfo Ausgabe.
$ glxinfo | grep -i opengl
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 970/PCIe/SSE2
OpenGL core profile version string: 4.3.0 NVIDIA 343.36
OpenGL core profile shading language version string: 4.30 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.4.0 NVIDIA 343.36
OpenGL shading language version string: 4.40 NVIDIA via Cg compiler
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
Vielen Dank
mesa-common-dev
Paket installiert?Antworten:
In Bezug auf für Qt doc :
Die Qt-Installationsprogramme für Linux gehen davon aus, dass das Host-Betriebssystem einen C ++ - Compiler, einen Debugger, ein make und andere Entwicklungstools bereitstellt. Darüber hinaus müssen zum Erstellen grafischer Qt-Anwendungen OpenGL-Bibliotheken und -Header installiert werden. Die meisten Linux-Distributionen installieren nicht alle standardmäßig, aber das Einrichten einer Entwicklungsumgebung ist immer noch unkompliziert.
Verwenden Sie die folgenden Befehle, um die grundlegenden Anforderungen zum Erstellen von Qt-Anwendungen zu installieren:
quelle
Ah, wie @steeldriver hervorhebt, sind Header und Bibliotheken verschiedene Dinge, und die folgenden Schritte haben das Problem behoben:
Dadurch werden die erforderlichen Header installiert.
quelle