解决Linux环境Qt报“cannot find -lgl“问题

    今天,在Ubuntu 18.04.6环境下,安装Qt5.14.2之后,运行一个QWidget工程,发现Qt报"cannot find -lgl"错误。

    出现这种现象的原因:Qt的Path路径没有配置,缺少libqt4-dev依赖包和一些必要的组件

    解决方法如下:

1 配置Qt的Path路径

  • a) 使用管理员权限打开/etc/profile文件,
bash 复制代码
sudo vim /etc/profile
  • b) 在/etc/profile文件末尾添加如下2条语句:
perl 复制代码
export PATH="/home/onelinux/Qt5.14.2/Tools/QtCreator/bin:$PATH"
export PATH="/home/onelinux/Qt5.14.2/5.14.2/gcc_64/bin:$PATH"

注意 ,这个Path包括2条路径:Tools路径、gcc路径。

    首先,是Qt的安装路径:/home/onelinux/Qt5.14.2,

    Tools路径: /home/onelinux/Qt5.14.2/Tools/QtCreator/bin;

    gcc路径:/home/onelinux/Qt5.14.2/5.14.2/gcc_64/bin;

   请按照自己电脑上实际的Qt路径,进行相应的修改

图(1) 在/etc/profile里,添加Qt的Path路径

  • c) 使能该Path环境
bash 复制代码
source /etc/profile

2 安装gcc和g++

bash 复制代码
sudo apt-get install gcc g++

3 安装libqt4-dev依赖包

bash 复制代码
sudo apt-get install libqt4-dev

4 安装必要的组件

bash 复制代码
sudo apt-get install build-essential 

    重新编译Qt工程,发现该问题已经修复。

相关推荐
Brilliantwxx4 小时前
【Linux】 进程(7)深度剖析 进程内核O(1)调度队列 + 饥饿问题
linux·运维·服务器
程序员-Benothing4 小时前
MySQL 中的 MVCC 是什么?如果没有 MVCC,会有什么影响?
数据库·mysql
Zenova EdgeOS4 小时前
工业网关心跳机制:从 Keepalive 到健康判定的工程实战
大数据·网络·数据库·边缘计算·工业网关
疯狂打码的少年4 小时前
【数据库技术】关系完整性约束(实体/参照/用户定义)
运维·服务器·数据库·笔记
派小汤5 小时前
Harmony2.2.0通过RdbStore实现通用类操作本地SQLite数据库
数据库·sql·sqlite·鸿蒙·鸿蒙系统
刚入门的大一新生5 小时前
Linux-命令行参数和环境变量
linux·运维·服务器
我星期八休息6 小时前
Linux I/O多路转接—epoll
java·linux·运维·服务器·开发语言·jvm·算法
程序员-Benothing6 小时前
MySQL 中的事务隔离级别有哪些?默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql
lv__pf6 小时前
【TL mysql 3】
数据库
wuminyu6 小时前
Java FFM处理网络读写事件源码剖析
java·linux·c语言·jvm·c++