当前位置: 首页 > news >正文

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”错误了。

http://www.jsqmd.com/news/155708/

相关文章:

  • 【分布式网络】分布式k-WTA网络在动态拓扑中的应用附Matlab代码
  • YOLO目标检测API支持OAuth2.0授权接入
  • YOLO目标检测支持权限控制?JWT + GPU服务集成
  • YOLO目标检测模型鲁棒性测试:对抗样本攻击实验
  • YOLO目标检测模型如何导出为TensorRT引擎?加速推理3倍以上
  • 【风场景生成与削减】【m-ISODATA、kmean、HAC】无监督聚类算法,用于捕获电力系统中风场景生成与削减研究附Matlab代码
  • YOLO训练任务通知机制?完成即推送到企业微信GPU群
  • YOLO模型弹性伸缩策略:根据QPS自动增减实例数
  • YOLO在冷链物流包装识别中的实用案例分享
  • 单源最短路 总结
  • YOLO目标检测灰度发布完成:新模型GPU性能达标
  • YOLO训练过程中GPU温度过高?散热优化建议
  • 【风能资源评估数据分析】导入、处理并讲解从气象塔测量的历史风力数据研究附Matlab代码
  • YOLO推理服务弹性伸缩:根据GPU负载自动扩缩容
  • npm在文件下输入运行命令,授权限制问题window
  • 102301303_俞欢殷学期回顾
  • minicom在嵌入式调试中的应用:项目应用解析
  • 2025专业皮手套厂家/羊皮手套厂家的品质如何 - 栗子测评
  • YOLO训练任务资源隔离:多用户共享GPU集群
  • YOLO在天文观测图像中星体定位的尝试性应用
  • 【负荷预测】布谷鸟(CS)算法优化BP神经网络的负荷及天气预测附Matlab代码
  • YOLO训练任务命名规范?便于GPU资源管理
  • YOLO模型推理请求日志分析:发现潜在GPU瓶颈
  • RAX3000M 普通版 刷机 openwrt24.10.5 笔记
  • YOLOv10性能评测:在RTX 4090上能达到多少FPS?
  • 推荐阅读:Java安装:JDK环境变量配置最新教程【纯小白安装教程,超 ...
  • 2025杭州AMG推荐品牌排行榜 - 栗子测评
  • YOLO目标检测模型冷启动问题解决方案
  • 2025研究生必看!9个降AI率工具测评榜单
  • YOLO系列演进史:从学术研究到工业落地的完整路径