我刚刚重新安装了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创建器2.7.2
基于Qt 5.1.0 (32位)
Ubuntu 13.04
我该如何解决这个问题?
发布于 2013-08-29 14:15:37
需要安装“libgl1-mesa-dev”包:
sudo apt install libgl1-mesa-dev
发布于 2015-08-24 21:56:46
你不需要安装任何东西。libGL
已经和Ubuntu一起安装了,你只需要软链接即可。(针对ubuntu 14.x和15.x进行了测试,可能适用于更高版本)
进行安装
下面是你如何做到这一点:
$ 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
发布于 2018-12-31 12:55:37
gui Qt模块是included by default。如果你不想在项目中使用它(例如,它是一个库或者只使用stdio),你需要在.pro文件中指定它。
QT -= gui
而且,无论是否安装了lGL,链接器都不会尝试查找它。
我的例子确实有点奇怪,因为使用Qt的主要原因是创建gui,安装GL库当然不难,我只是想知道为什么我的快速而肮脏的Hello World需要它。
https://stackoverflow.com/questions/18406369
复制相似问题