实验问题:运行最简单”hello world!”,出现can’t find -lGL的问题
实验阵地: ubuntu14.04+qt5.2

问题分析
出现该类问题的原因有2个:
(1)没有安装libGL;
(2)libGL没有正确链接。

问题解答
(1)如果是问题1,这个好办。只要安装libGL即可。这个在其他博客中也都有提到。
如http://blog.sina.com.cn/s/blog_500bd63c0102uzmt.html
只需终端执行

$ sudo apt-get install build-essential
$sudo apt-get install libgl1-mesa-dev

安装libGL即可。(libGL是openGL的库)
(2)如果是问题2,就稍微难办一点。
首先,我们利用命令

$/sbin/ldconfig -v | grep GL

查看所有有关GL的链接库的链接关系。
如果是问题2,则会有这样的打印信息

/sbin/ldconfig.real: Cannot stat /usr/lib/x86_64-linux-gnu/mesa/libGL.so: No such file or directory

表示”无法获取libGL的链接信息:没有该文件或目录”。我们进入/usr/lib/x86_64-linux-gnu/mesa/

$cd /usr/lib/x86_64-linux-gnu/mesa/

确实能找到libGL.so。但因为不存在与之相关的硬链接,而导致libGL.so失效。
这时候,应该怎么办呢?
a)首先我们进一步确认一下libGL.so是否失效。(毕竟之后涉及到在/usr/lib/x86_64-linux-gnu文件夹下删除,一不小心删错了,可是要命的)

$ls -l libGL.so 

查看libGL的硬链接,如果libGL存在硬链接的话,会出现类似信息:

lrwxrwxrwx 1 root root 13 12月  4 20:42 libGL.so -> ../libGL.so.1

如果出现

0 libGL.so

或其他错误信息,则说明这个libGL.so已经失效。
b)之后,搜索是否存在libGL.so的硬链接。(一般如果第一步,安装已经做过的话,是肯定存在的)

$cd
$sudo find /usr/lib/ -name libGL.so*

打印信息

/usr/lib/x86_64-linux-gnu/mesa/libGL.so
/usr/lib/x86_64-linux-gnu/libGL.so.1.0.0
/usr/lib/x86_64-linux-gnu/libGL.so
/usr/lib/x86_64-linux-gnu/libGL.so.1

我们发现在/usr/lib/x86_64-linux-gnu/文件夹下存在硬链接libGL.so.1.0.0
接下来,我们的问题就只剩下如何让/usr/lib/x86_64-linux-gnu/mesa/libGL.so关联上/usr/lib/x86_64-linux-gnu/libGL.so.1.0.0
由于在/usr/lib/x86_64-linux-gnu/中libGL.so.1是libGL.so.1.0.0的软链接,所以我们只要将/usr/lib/x86_64-linux-gnu/mesa/libGL.so关联上/usr/lib/x86_64-linux-gnu/libGL.so.1即可
执行以下操作

$cd /usr/lib/x86_64-linux-gnu/mesa/
$sudo rm libGL.so #删除libGL.so
$sudo ln -s ../libGL.so.1 libGL.so #创建软链接

重新运行

ls -l libGL.so 

这时应该会有打印信息

lrwxrwxrwx 1 root root 13 12月  4 20:42 libGL.so -> ../libGL.so.1

再次运行

$/sbin/ldconfig -v | grep GL

错误

/sbin/ldconfig.real: Cannot stat /usr/lib/x86_64-linux-gnu/mesa/libGL.so: No such file or directory

会消失。
重新编译qt,编译成功!

解决can't find -lGL的问题相关推荐

  1. Ubuntu下安装OpenGL/Glut库

    http://www.libaqiang.com/?p=78330 1.Ubuntu下安装OpenGL/Glut库 OpenGL(全写Open Graphics Library)是个定义了一个跨编程语 ...

  2. javaEE面试重点

    Hibernate工作原理及为什么要用? 原理: 1. 读取并解析配置文件 2. 读取并解析映射信息,创建SessionFactory 3. 打开Sesssion 4. 创建事务Transation ...

  3. 【Qt】错误GL/gl.h: No such file or directory的解决方法(以及cannot find -lGL解决方法)

    1.问题描述 QtCreator第一次编译时,报错GL/gl.h: No such file or directory 错误信息如下: /home/Qt5.6.3/5.6.3/gcc_64/inclu ...

  4. Linux的Qt编译出现:-1: error: cannot find -lGL问题的解决方法

    Qt是支持跨平台的C++图形用户界面应用程序开发框架,在一个平台上开发好应用程序可以在多个平台方便移植. 在将windows平台上开发的Qt界面程序移植到Linux Ubuntu系统中,在构建项目时出 ...

  5. 安装qtceator后无法启动help插件 Qt编译错误:cannot find -lGL 解决办法

    1. Qt编译错误:cannot find -lGL 在编译之前常见的一个小工程(在mac下创建的)的时候,出现lGL错误,我以为是不兼容,但又新建了一个项目,编译出错: cannot find -l ...

  6. 解决CentOS遇到Qt编译(error: cannot find -lGL)

    笔者CentOS 6.5 64位,安装完成Qt5.5.1.随意新建一个Qt Widgets Application. 结果遇到Qt编译问题,提示信息如下: error: cannot find -lG ...

  7. 关于 国产麒麟系统编译Qt项目是报错:error: cannot find -lGL 的解决方法

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/123784051 红胖子(红模仿)的博文大全:开发技术集 ...

  8. 解决Qt5.7.0 cannot find -lGL

    本博文转自:https://www.cnblogs.com/coding-my-life/p/5677256.html 很久没用Qt了,这次要做一个协议编辑器,在ubuntu 14.04上安装了最新版 ...

  9. Ubuntu下初装QT出现错误cannot find -lGL解决办法

    1.问题原因:Qt 找不到 OpenGL 的动态链接库(libGL.so),Qt 默认在 /usr/lib/ 目录下查找动态链接库,但是很多 Linux 发行版将 OpenGL 链接库放在其它目录,对 ...

最新文章

  1. Java七步创建以JDBC连接数据库的程序
  2. 美国再出半导体新法案!1800亿谋求芯片制造振兴
  3. Java设计模式(八):外观设计模式
  4. java redis使用卡死_jedispool连redis高并发卡死的问题
  5. android 上下滚动文字_android高仿今日头条富文本编辑(发布文章)
  6. linearregression_机器学习-TensorFlow建模过程 Linear Regression线性拟合应用
  7. 一个简单的录音软件程序代码【C++】
  8. STM32H743+CubeMX-计算FDCAN2上的MessageRAMOffset(使两路FDCAN正常工作)
  9. npm安装less插件 - cmd篇
  10. 涨价警告!2020年苹果新iPhone Pro系列售价或将万元起
  11. C# winform以阅览模式打开PPT,并控制PPT上下页,轮播
  12. 批处理 无效驱动器规格_电脑维修之硬盘驱动器的常见故障判断
  13. nodejs与sqlite
  14. 7-2 搜索树判断 (25 分)
  15. Java入门教程——下载JAVA
  16. Linux网络服务-LAMP之基于NFS+Fastcgi的LAMP搭建
  17. python爬取物流信息_手把手教你用Python爬取快递100查询你的物流信息
  18. Shopify成功案例,手把手教你玩转独立站
  19. Temporal Pyramid Network for Action Recognition(CVPR2020)
  20. C# 调用NationalInstruments的dll报错问题 未能加载文件或程序集

热门文章

  1. CISC 与 RISC 对比
  2. java中将两个图片进行叠加
  3. [python] python模块graphviz使用入门
  4. aecmap快捷键_ARCMAP快捷键总结
  5. 计算机 先进事迹范文,计算机,先进事迹范文.doc
  6. 【MATLAB】MATLAB 仿真模拟调制系统 — DSB 系统
  7. vue table表格中身份证隐藏中间几位
  8. 什么是R型直流电源变压器?
  9. SVG In HTML5 Pages
  10. 域名备案和域名实名认证相同吗?