news 2026/3/13 19:38:10

Linux下Qt编译出现“cannot find -lGL“问题解决办法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux下Qt编译出现“cannot find -lGL“问题解决办法

对于很多 Linux 发行版本,Qt 安装完成后如果直接编译或者运行项目,会出现“cannot find -lGL”错误,如下图所示:

这是因为 Qt 找不到 OpenGL 的动态链接库(libGL.so)。OpenGL 在大部分 Linux 发行版中都是默认安装的,包括 Ubuntu、CentOS 等,找不到该链接库一般都是路径不对。

Qt 默认在 /usr/lib/ 目录下查找动态链接库,但是很多 Linux 发行版将 OpenGL 链接库放在其它目录,例如对于CentOS 7,OpenGL 链接库位于 /usr/lib64/ 目录,而对于 Ubuntu,OpenGL 链接库位于 /usr/lib/i386-linux-gnu/mesa/ 目录。只要我们把 libGL.so 拷贝到 /usr/lib/ 目录,或者在 /usr/lib/ 目录下为 libGL.so 创建一个链接,就能解决问题。显然第二种办法更好。

另外,Linux 发行版自带的 OpenGL 链接库在后缀中添加了版本号,例如 libGL.so.1、libGL.so.1.2.0、libGL.so.1.3.1 等,但是 Qt 在链接阶段查找的 OpenGL 链接库是不带版本号的。

总的来说,我们需要在 /usr/lib/ 目录下为 OpenGL 链接库创建一个链接,并去掉版本号。

如果不知道当前 Linux 系统中 libGL.so 的具体路径,可以使用locate libGL命令或find /usr -name libGL*命令查找,然后使用ln -s创建链接。如下所示:

创建链接

Linux 系统中可能存在多个版本的 libGL.so,为任意一个版本创建链接即可。普通用户没有权限创建链接,所以我使用了 root 用户。

完成以上操作,再次启动 Qt,然后编译或者运行,就不会出现“cannot find -lGL”错误了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/10 17:22:45

YOLO推理服务弹性伸缩:根据GPU负载自动扩缩容

YOLO推理服务弹性伸缩:根据GPU负载自动扩缩容 在智能制造、智慧交通和城市安防等高并发AI场景中,实时视频流的目标检测任务正变得越来越普遍。一个典型的工厂质检系统可能需要同时处理数十路高清摄像头输入,而夜间或非生产时段流量却骤降为个…

作者头像 李华
网站建设 2026/3/13 17:50:14

YOLO目标检测支持Kafka高吞吐消息管道

YOLO目标检测与Kafka高吞吐消息管道的融合实践 在智能制造车间的某个清晨,数十路高清摄像头正实时监控着流水线上的每一个环节。突然,质检区域出现异常——产品表面划痕频率上升。传统视觉系统可能因瞬时数据洪峰而卡顿,但在这个系统中&#…

作者头像 李华
网站建设 2026/3/6 20:33:52

YOLO目标检测模型漂移修复:自动重新训练机制

YOLO目标检测模型漂移修复:自动重新训练机制 在智能工厂的质检流水线上,一台搭载YOLO模型的视觉检测系统正高速运行。起初几周,它能精准识别99%以上的缺陷产品。但三个月后,工人们发现误报率突然飙升——原来车间更换了LED照明&am…

作者头像 李华
网站建设 2026/3/13 16:39:15

【负荷预测】基于VMD-SSA-LSTM光伏功率预测附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…

作者头像 李华
网站建设 2026/3/13 3:22:47

YOLO模型支持Grafana可视化仪表盘集成

YOLO模型与Grafana可视化监控的深度集成实践 在智能制造车间里,一台AOI(自动光学检测)设备突然开始漏检微小焊点缺陷。运维人员赶到现场重启服务后问题暂时消失,但三天后再次复发——直到他们打开Grafana仪表盘,才发现…

作者头像 李华