QT не может найти GL/gl.h, но libGL.so существует

Я запускаю 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:

Спасибо

11
задан 8 June 2017 в 22:55

2 ответа

А-ч, как @steeldriver указывает, заголовки и библиотеки являются разными вещами, и выполнение следующего устранило проблему:

sudo apt-get install mesa-common-dev

Это устанавливает необходимые заголовки.

15
ответ дан 23 November 2019 в 03:52

Относительно к для документ кварты:

спокойные установщики для Linux предполагают, что компилятор C++, отладчик, делает, и другие средства разработки обеспечиваются хостовой операционной системой. Кроме того, создавание графических спокойных приложений требует библиотек OpenGL и установленных заголовков. Большинство дистрибутивов Linux не устанавливает все их по умолчанию, но установка среды разработки все еще проста.

Использование следующие команды для установки основных требований для того, чтобы создать спокойные приложения:

sudo apt-get install build-essential libgl1-mesa-dev
17
ответ дан 23 November 2019 в 03:52

Другие вопросы по тегам:

Похожие вопросы: