J'utilise Ubuntu 14.04 64 bits.
L'erreur de compilation que j'obtiens est:
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>
^
Curieusement, je semble avoir libGL.so correctement installé et lié aux bibliothèques OpenGL installées par mon pilote d'affichage Nvidia 343 (qui, je suppose, installe également des pilotes OpenGL).
$ 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
J'ai vu des articles précédents qui suggèrent de faire
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
mais quand j'ai essayé cela, il a rétrogradé ma version OpenGL prise en charge (telle que sortie par glxinfo) en v1.4. Je ne sais pas non plus pourquoi cela est censé aider.
Voici ma sortie glxinfo.
$ 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:
Merci
mesa-common-dev
package installé?Réponses:
Concernant pour Qt doc :
Les programmes d'installation Qt pour Linux supposent qu'un compilateur C ++, un débogueur, une marque et d'autres outils de développement sont fournis par le système d'exploitation hôte. De plus, la construction d'applications graphiques Qt nécessite l'installation de bibliothèques et d'en-têtes OpenGL. La plupart des distributions Linux n'installent pas tout cela par défaut, mais la configuration d'un environnement de développement est toujours simple.
Utilisez les commandes suivantes pour installer les exigences de base pour la création d'applications Qt:
la source
Ah, comme le souligne @steeldriver, les en-têtes et les bibliothèques sont des choses différentes, et ce qui suit a résolu le problème:
Cela installe les en-têtes requis.
la source
GL/gl.h
est livré avec Qt, si vous installez WebEngine, sousqtwebengine/src/3rdparty/chromium/third_party/mesa/src/include/GL/gl.h