126 votes

Qt : erreur -lGL introuvable

Je viens de réinstaller QtCreator, de créer un nouveau projet ( Application Qt ) et j'ai obtenu ceci après la compilation :

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

( Le projet est vide, je n'ai pas fait de changements. )

Qt Creator 2.7.2
Basé sur Qt 5.1.0 (32 bit)
Ubuntu 13.04

Comment puis-je résoudre ce problème ?

188voto

Sayyed Hassan Amiri Points 2002

Vous devez installer le paquet "libgl1-mesa-dev" :

sudo apt install libgl1-mesa-dev

81voto

destan Points 943

Vous n'avez pas besoin d'installer quoi que ce soit. libGL est déjà installé avec Ubuntu, il vous suffit de le relier par soft link. (testé pour Ubuntu 14.x et 15.x, pourrait fonctionner pour des versions ultérieures)

  1. Localisez d'abord la bibliothèque GL
  2. Puis liez-le sous /usr/lib
  3. Si la bibliothèque est manquante, elle peut être installée via le paquet libgl1-mesa-dev

Voici comment vous pouvez procéder :

$ 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

4voto

squeevee Points 16

Le module Qt gui est inclus par défaut . Si vous ne voulez pas l'utiliser dans un projet (par exemple, si c'est une bibliothèque ou si elle n'utilise que stdio), vous devez le spécifier dans le fichier .pro.

QT -= gui

Et l'éditeur de liens n'essaiera pas de trouver lGL, qu'il soit installé ou non.

Mon cas est certes un peu particulier, puisque la principale raison d'utiliser Qt est de créer des interfaces graphiques. L'installation de la bibliothèque GL n'est certainement pas difficile, je voulais juste savoir pourquoi mon Hello World rapide et sale en avait besoin.

2voto

Écrire :

yum provides */libGL.so 

après avoir fourni :

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

1voto

Cela a marché pour moi :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X