Je viens de réinstaller QtCreator, de créer un nouveau projet (Qt Application) et de l'obtenir 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 commis aucune modification)
Qt Creator 2.7.2
Basé sur Qt 5.1.0 (32 bits)
Ubuntu 13.04
Comment résoudre ce problème?
Vous devriez installer le paquet "libgl1-mesa-dev":
Sudo apt install libgl1-mesa-dev
vous n'avez rien besoin d'installer. libGL
est déjà installé avec Ubuntu, il vous suffit de le lier. (testé pour Ubuntu 14.x et 15.x, pourrait fonctionner pour les versions ultérieures)
Voici comment vous pouvez faire ceci:
$ 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
Mon système est Ubuntu 16.04 sur un ordinateur X86 (avec NVIDIA Geforce GPU).
Vérifiez le fichier de bibliothèque localiser dans /usr/lib/x86_64-linux-gnu
ls -al /usr/lib/x86_64-linux-gnu/libG*
Si vous voyez le lien brisé, réinstallez libgl1-mesa-glx
Sudo apt install --resintall libgl1-mesa-glx
Et revérifier la bibliothèque.
écrire:
yum provides */libGL.so
après avoir fourni:
yum install mesa-libGL-devel mesa-libGLU-devel
Le module gui Qt est inclus par défaut . Si vous ne souhaitez pas l'utiliser dans un projet (par exemple, il s'agit d'une bibliothèque ou 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 étrange, car 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 ma rapide et sale Hello World le voulait.
Cela a fonctionné pour moi:
Sudo ln -s /usr/lib/libEGL1.so /usr/lib/libGL.so