You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

64位CentOS中Qt编译提示找不到-lGL库,如何解决?

解决CentOS下Qt编译报错cannot find -lGL的问题

这个问题我碰到过好多次了,本质是链接器找不到不带版本后缀的libGL.so符号链接——你的系统里只有带版本号的libGL.so.1和libGL.so.1.2.0,而Qt编译时默认找的是无版本后缀的库文件。给你两个靠谱的解决办法:

方法一:手动创建软链接(快速临时解决)

直接在/usr/lib64目录下创建指向现有库的软链接,让链接器能找到它:

sudo ln -s /usr/lib64/libGL.so.1 /usr/lib64/libGL.so

执行完之后,重新构建你的Qt项目,应该就能通过编译了。

方法二:安装官方开发包(更推荐,长期稳妥)

手动建软链接虽然快,但如果后续系统更新可能会出问题,更稳妥的方式是安装mesa-libGL-devel开发包,它会自动配置好正确的软链接,还会附带Qt开发需要的头文件:

  • 如果你用的是CentOS 7或更早版本:
sudo yum install mesa-libGL-devel
  • 如果你用的是CentOS 8及以上版本(用dnf代替yum):
sudo dnf install mesa-libGL-devel

验证解决效果

完成上述操作后,再执行locate libGL.so,应该能看到/usr/lib64/libGL.so这个文件了,此时重新构建你的Qt窗口应用,cannot find -lGL的报错就会消失。

内容的提问来源于stack exchange,提问作者vico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:54:56