can not find -lgl,记一次Qt Creator编译报错的解决
某次在终端使用apt 进行软维护时,提示某些软件包不再使用,可以使用autoremove进行清理。当时没多想,就依照提示使用autoremove进行了清理,具体清理了哪些地方的哪些软件包、链接,我也没仔细看。
可能正是由于此次的操作,导至后来在Qt Creator打开以前的项目时,提示:**cannot find -lgl**。
经过一番资料查找,了解到,其实是libGL.so这个文件无法被Qt Creator调用(应该是/usr/lib/ld 直接调用的libGL.so,确切地说,调用/usr/lib/libGL.so),才导致的这个提示。
libGL.so是个什么东西呢?是跟OpenGL有关的库文件。Deepin系统是应该都有的,执行以下命令查找一下:
```cmd
find /usr/lib/ -name libGL*.so
```
查到如下结果:
```cmd
/usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so
/usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv2.so
/usr/lib/mesa-diverted/x86_64-linux-gnu/libGLESv1_CM.so
/usr/lib/x86_64-linux-gnu/libGL.so
```
不仅有,还有好几个版本,但在/usr/lib 目录下,确实没有。没有那就动手建一个软链,执行命令如下:
```cmd
sudo ln -s /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1.7.0 /usr/lib/libGL.so
```
接下来用Qt Creator打开项目,编译、运行,一切正常,问题得以解决。
如果你也遇到了类似的问题,以上解决思路与过程,希望能帮到你。如果你有更好的解决方案,请在评论区交流。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!