Я запускаю Ubuntu 14.04 на 64 бита.
Ошибка компиляции, которую я получаю:
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>
^
Странно достаточно у меня, кажется, есть libGL.so, правильно установленный и symlinked на библиотеках OpenGL, установленных моим драйвером дисплея Nvidia 343 (который я считаю также установки драйверами 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
Я видел некоторые предыдущие сообщения, которые предлагают делать
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
но когда я попробовал это, это понизило мою поддерживаемую версию OpenGL (как произведено glxinfo) к v1.4. Также я не уверен, почему это, как предполагается, помогает.
Вот мой вывод 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:
Спасибо
А-ч, как @steeldriver указывает, заголовки и библиотеки являются разными вещами, и выполнение следующего устранило проблему:
sudo apt-get install mesa-common-dev
Это устанавливает необходимые заголовки.
Относительно к для документ кварты:
спокойные установщики для Linux предполагают, что компилятор C++, отладчик, делает, и другие средства разработки обеспечиваются хостовой операционной системой. Кроме того, создавание графических спокойных приложений требует библиотек OpenGL и установленных заголовков. Большинство дистрибутивов Linux не устанавливает все их по умолчанию, но установка среды разработки все еще проста.
Использование следующие команды для установки основных требований для того, чтобы создать спокойные приложения:
sudo apt-get install build-essential libgl1-mesa-dev