J'utilise Ubuntu 14.04 64 bits.
L'erreur de compilation que je reçois est la suivante:
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>
^
Étrangement, il me semble que libGL.so est correctement installé et lié symboliquement aux bibliothèques OpenGL installées par mon pilote d’affichage Nvidia 343 (qui, je suppose, installe également les 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 déjà lu des billets 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. De plus, je ne sais pas 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
Ah, comme le fait remarquer @steeldriver, les en-têtes et les bibliothèques sont des choses différentes. Le problème suivant a été résolu:
Sudo apt-get install mesa-common-dev
Cela installe les en-têtes requis.
En ce qui concerne pour Qt doc :
Les installateurs 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 des bibliothèques OpenGL et des en-têtes installés. La plupart des distributions Linux n'installent pas toutes ces fonctionnalités par défaut, mais la configuration d'un environnement de développement reste simple.
Utilisez les commandes suivantes pour installer la configuration de base requise pour créer des applications Qt:
Sudo apt-get install build-essential libgl1-mesa-dev