Estoy ejecutando Ubuntu 14.04 de 64 bits.
El error de compilación que obtengo es:
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>
^
Por extraño que parezca, parece que libGL.so está correctamente instalado y vinculado a las bibliotecas OpenGL instaladas por mi controlador de pantalla Nvidia 343 (que supongo que también instala controladores 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
He visto algunas publicaciones anteriores que sugieren hacer
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
pero cuando lo intenté, bajó mi versión de OpenGL compatible (tal como la produjo glxinfo) a v1.4. Además, no estoy seguro de por qué se supone que eso ayuda.
Aquí está mi salida de 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:
Gracias
mesa-common-dev
sistema instalado el paquete?Respuestas:
En cuanto a Qt doc :
Los instaladores de Qt para Linux asumen que el sistema operativo del host proporciona un compilador, depurador, marca y otras herramientas de desarrollo de C ++. Además, la creación de aplicaciones gráficas Qt requiere la instalación de bibliotecas y encabezados OpenGL. La mayoría de las distribuciones de Linux no instalan todo esto de manera predeterminada, pero configurar un entorno de desarrollo sigue siendo sencillo.
Use los siguientes comandos para instalar los requisitos básicos para crear aplicaciones Qt:
fuente
Ah, como señala @steeldriver, los encabezados y las bibliotecas son cosas diferentes, y hacer lo siguiente solucionó el problema:
Esto instala los encabezados necesarios.
fuente
GL/gl.h
se envía con Qt, si instala WebEngine, bajoqtwebengine/src/3rdparty/chromium/third_party/mesa/src/include/GL/gl.h