Qt: не удается найти ошибку -lGL

Я просто переустановил QtCreator, создал новый проект (приложение Qt) и получил это после компиляции:

/usr/bin/ld: **cannot find -lGL**
collect2: error: ld returned 1 exit status
make: *** [untitled1] Error 1
18:07:41: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project untitled1 (kit: Desktop Qt 5.1.0 GCC 32bit)
When executing step 'Make'

(Проект пуст, я не совершал никаких изменений)

Qt Creator 2.7.2
На основе Qt 5.1.0 (32 бит)
Ubuntu 13.04

Как решить эту проблему?

Ответ 1

Вам следует установить пакет "libgl1-mesa-dev":

sudo apt install libgl1-mesa-dev

Ответ 2

Вам не нужно ничего устанавливать. libGL уже установлен с Ubuntu, вам просто нужно софт-линкнуть. (протестировано для Ubuntu 14.x и 15.x, может работать на более поздних версиях)

  1. Сначала найдите библиотеку GL
  2. Затем свяжите его с /usr/lib
  3. Если библиотека отсутствует, ее можно установить через пакет libgl1-mesa-dev

Вот как вы могли бы сделать это:

$ locate libGL
/usr/lib/i386-linux-gnu/mesa/libGL.so.1
/usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0
/usr/lib/x86_64-linux-gnu/libGLEW.so.1.10
/usr/lib/x86_64-linux-gnu/libGLEW.so.1.10.0
/usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.10
/usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.10.0
/usr/lib/x86_64-linux-gnu/libGLU.so.1
/usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0
/usr/lib/x86_64-linux-gnu/mesa-egl/libGLESv2.so.2
/usr/lib/x86_64-linux-gnu/mesa-egl/libGLESv2.so.2.0.0
$ sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so

Ответ 3

записывать:

yum provides */libGL.so 

после предоставления:

yum install mesa-libGL-devel mesa-libGLU-devel

Ответ 4

Модуль gui Qt включен по умолчанию. Если вы не хотите использовать его в проекте (например, это библиотека или использует только stdio), вам нужно указать это в файле .pro.

QT -= gui

И компоновщик не будет пытаться найти lGL независимо от того, установлен ли он.

Мой случай, по общему признанию, немного странный, поскольку главная причина использования Qt - создание графических интерфейсов. Установить библиотеку GL, конечно, не сложно, я просто хотел узнать, почему мой быстрый и грязный Hello World захотел это.

Ответ 5

Моя система - Ubuntu 16.04 на компьютере x86 (с графическим процессором NVIDIA GeForce).

Проверьте файлы библиотеки, расположенные в /usr/lib/x86_64-linux-gnu

ls -al /usr/lib/x86_64-linux-gnu/libG*

Если вы видите неработающую ссылку, переустановите libgl1-mesa-glx

sudo apt install --reinstall libgl1-mesa-glx

И перепроверь библиотеку.

Ответ 6

Это сработало для меня:

sudo ln -s /usr/lib/libEGL1.so /usr/lib/libGL.so

Ответ 7

Решил эту проблему всего минуту назад в suse. Просто сделайте следующий шаг ниже, и QTCreator должен работать нормально.

sudo zypper install --type pattern devel_basis