2021-08-03基于Linux(中标麒麟)上QT的环境搭建——解决cannot find lGL的问题

http://download.cs2c.com.cn/neokylin/   中标麒麟系统下载地址

一、下载QT安装包

访问地址:http://download.qt.io/official_releases/qt/,进入到QT下载界面,选择对应的版本型号下载,如下图所示:

一、问题描述:

在中标麒麟上配置好QT的环境后,新建一个工程,不做其他的任何操作,直接运行都会报cannot find lGL的错误。如图所示:

   这个问题找了很久,网上有的资料都是Ubuntu上的解决方式,Ubuntu上的解决方式是运行命令sudo apt-get install libqt4-dev或者sudo apt-get install libgl1-mesa-dev或者libgl1-mesa-dev或者libglu1-mesa-dev;但这种方式完全不适合中标麒麟,最后还是研究工程编译的源代码,找到了问题所在:

二、问题分析:

出现上述问题主要的原因是由于QT Creator在编译运行时查找的libGL的库是不带版本号的,及它查找的是libGL.so,而原本系统中在usr/lib64路径下只有libGL.so.1、libGL.so.1.2.0、libGLU.so.1、libGLU.so.1.3.1,后缀中待了版本号,导致QT程序编译时找不到对应的库,所以需要复制或创建链接命名为libGL.so。

三、解决方式:

(1)检测当前系统中libGL相关的包

进入终端,在最上一级上输入命令ls  /usr/lib64/libGL,按Tab键,此时会出现lib64下所有的libGL相关的文件,如下图所示:

(2)解决该问题有两种方式,一种是创建快捷指向libGL.so.1的方式,另外一种是直接复制的方式。

  • 创建快捷的方式(建议以这种方式解决)

在终端中在终端中进入到usr/lib64的路径下,输入命令:ln libGL.so.1 libGL.so ,可参照下图所示,此处输入的含义就是创建一个链接的快捷方式名称叫libGL.so其实指向的是libGL.so.1。

  • 直接复制的方式

在终端中进入到usr/lib64的路径下,输入命令:cp libGL.so.1 libGL.so,可参照下图,此方式的含义是复制一个文件libGL.so.1,复制后的文件名称叫libGL.so。

转载地址:http://www.cnblogs.com/yy-zl/p/5648851.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值