wake-up-neo.com

Qt: -lGL-Fehler kann nicht gefunden werden

Ich habe gerade QtCreator neu installiert, ein neues Projekt erstellt (Qt Application) und nach dem Kompilieren folgendes erhalten:

/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'

(Projekt ist leer, ich habe keine Änderungen vorgenommen)

Qt Creator 2.7.2
Basierend auf Qt 5.1.0 (32 Bit)
Ubuntu 13.04

Wie löse ich dieses Problem?

91
Hofmn

Sie sollten das Paket "libgl1-mesa-dev" installieren:

Sudo apt install libgl1-mesa-dev
138

sie müssen nichts installieren. libGL ist bereits mit Ubuntu installiert, Sie müssen es nur mit einem Softlink verknüpfen. (getestet für Ubuntu 14.x und 15.x, funktioniert möglicherweise für spätere Versionen)

  1. Suchen Sie zuerst die Bibliothek GL
  2. Dann verlinke es unter/usr/lib
  3. Wenn die Bibliothek fehlt, kann sie über das Paket libgl1-mesa-dev installiert werden

So könnten Sie das machen:

$ 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
60
destan

Mein System ist Ubuntu 16.04 auf X86-Computern (mit NVIDIA Geforce GPU).

Überprüfen Sie die Bibliotheksdatei in /usr/lib/x86_64-linux-gnu

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

Wenn Sie den fehlerhaften Link sehen, installieren Sie libgl1-mesa-glx Neu.

Sudo apt install --resintall libgl1-mesa-glx

Überprüfen Sie die Bibliothek erneut.

1
Lastea

schreiben:

yum provides */libGL.so 

nach Bereitstellung:

yum install mesa-libGL-devel mesa-libGLU-devel
1
Shojib Mahmud

Das GUI QT-Modul ist standardmäßig enthalten . Wenn Sie es nicht in einem Projekt verwenden möchten (z. B. eine Bibliothek oder nur stdio), müssen Sie dies in der .pro-Datei angeben.

QT -= gui

Und der Linker versucht nicht, lGL zu finden, unabhängig davon, ob es installiert ist.

Mein Fall ist zugegebenermaßen etwas seltsam, da der Hauptgrund für die Verwendung von Qt die Erstellung von GUIs ist. Die Installation der GL Bibliothek ist sicherlich nicht schwierig, ich wollte nur wissen, warum meine schnelle und schmutzige Hello World es wollte.

1
squeevee

Das hat bei mir funktioniert:

Sudo ln -s /usr/lib/libEGL1.so /usr/lib/libGL.so
0