Ошибка сборки: Cannot find -lGL

236
26 ноября 2016, 19:00

При попытке сборки проекта Qt Widgets выдает вот такую ошибку:

g++ -Wl,-rpath,/home/keyreal/Qt/5.7/gcc_64/lib -o untitled3 main.o mainwindow.o moc_mainwindow.o -L/home/keyreal/Qt/5.7/gcc_64/lib -lQt5Widgets -L/usr/lib64 -lQt5Gui -lQt5Core -lGL -lpthread
/usr/bin/ld: cannot find -lGL
collect2: error: ld returned 1 exit status
make: *** [untitled3] Ошибка 1
22:41:13: Процесс «/usr/bin/make» завершился с кодом 2.
Ошибка при сборке/установке проекта untitled3 (комплект: Desktop Qt 5.7.0 GCC 64bit)`

Ошибку выдает только если создается проект Qt Widgets, с консольным приложением вроде всё работает. Проект создается пустой абсолютно, т.е. туда ничего не внесено и никаких дополнительных классов не используется

ОС - Ubuntu 14.04 с XFCE.

Answer 1

Установите пакет libgl1-mesa-dev.

Добавлено

Разумеется, нет возможности гарантировать, что на неких специфичных убунтах с нестандартным набором установленных пакетов, обозначенный пакет не затребует что-либо удалить. Речь о стандартной поставке Ubuntu с Gnome, начиная с 14.04 и по 16.04 включительно. Подозреваю, что и для более ранних версий, а также для версий с XFCE ситуация не изменится (самолично не проверял, не пользуюсь этим DE).

Предоставляемые пакетом файлы:

/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libGL.so
/usr/lib/x86_64-linux-gnu/libglapi.so
/usr/lib/x86_64-linux-gnu/mesa
/usr/lib/x86_64-linux-gnu/mesa/libGL.so
/usr/lib/x86_64-linux-gnu/pkgconfig
/usr/lib/x86_64-linux-gnu/pkgconfig/gl.pc
/usr/share
/usr/share/bug
/usr/share/bug/libgl1-mesa-dev
/usr/share/bug/libgl1-mesa-dev/control
/usr/share/bug/libgl1-mesa-dev/script
/usr/share/doc
/usr/share/doc/libgl1-mesa-dev
/usr/share/doc/libgl1-mesa-dev/changelog.Debian.gz
/usr/share/doc/libgl1-mesa-dev/copyright

Как видно, пакет содержит искомую библиотеку: libGL.so

При установке на систему Ubuntu 16.04 Gnome ничего не запрашивает снести.

READ ALSO
Как перевести вектор в углы эйлера? c++

Как перевести вектор в углы эйлера? c++

Пытаюсь восстановить код функции:

334
Тип HANDLE. Как значение дескриптора записать в строку?

Тип HANDLE. Как значение дескриптора записать в строку?

Создаю дескриптор текстового файла HANDLE file = CreateFile(

381
Иницилизация нескольких переменных

Иницилизация нескольких переменных

Можно ли в C++ объявить несколько переменных и сразу присвоить одинаковое значение? Пример:

215