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

CentOS 7下Qt 5.14.2保姆级安装教程:从.run包到菜单栏图标(含libGL报错解决)

CentOS 7下Qt 5.14.2图形化安装全流程实战指南在Linux环境下进行Qt开发CentOS 7依然是许多企业和开发者的首选系统。不同于源码编译的复杂过程使用官方.run安装包能够快速搭建稳定的开发环境。本文将手把手带你完成从安装包准备到菜单集成的完整流程特别针对常见的libGL库缺失问题提供多种解决方案。1. 环境准备与安装包获取Qt官方提供了多种安装方式对于大多数开发者而言图形化安装是最便捷的选择。首先需要确认你的系统满足以下基本要求硬件配置至少2GB内存10GB可用磁盘空间完整安装约需5-8GB系统版本CentOS 7.6及以上建议更新到最新补丁权限准备拥有sudo权限的普通用户账号推荐从国内镜像站点获取安装包以加速下载wget https://mirrors.aliyun.com/qt/archive/qt/5.14/5.14.2/qt-opensource-linux-x64-5.14.2.run如果下载速度不理想可以尝试先下载到本地再用scp上传scp qt-opensource-linux-x64-5.14.2.run useryour_server:/home/user/注意确保安装包具有可执行权限执行chmod x qt-opensource-linux-x64-5.14.2.run赋予权限2. 图形化安装流程详解运行安装程序前建议先安装必要的图形化支持库sudo yum install -y libxcb xcb-util xcb-util-keysyms xcb-util-image xcb-util-wm启动安装向导的命令如下./qt-opensource-linux-x64-5.14.2.run安装过程中有几个关键选择点需要特别注意安装组件选择必选Qt 5.14.2 → Desktop gcc 64-bit推荐Qt Creator、Debugging Tools可选Qt Charts、Qt Data Visualization等扩展模块安装路径设置个人开发/home/yourname/Qt5.14.2团队共享/opt/Qt5.14.2需sudo权限许可协议选择开源版本Open Source安装完成后建议立即验证基本功能cd /opt/Qt5.14.2/Tools/QtCreator/bin ./qtcreator3. 开发环境深度配置3.1 编译器与工具链设置CentOS 7默认的GCC 4.8.5对C11支持有限建议升级到devtoolset-8sudo yum install centos-release-scl sudo yum install devtoolset-8-gcc*激活新编译器环境scl enable devtoolset-8 bash永久生效配置方法echo source /opt/rh/devtoolset-8/enable ~/.bashrc3.2 环境变量配置系统级配置/etc/profileexport QT_HOME/opt/Qt5.14.2 export PATH$QT_HOME/Tools/QtCreator/bin:$PATH export PATH$QT_HOME/5.14.2/gcc_64/bin:$PATH用户级配置~/.bashrcexport LD_LIBRARY_PATH$QT_HOME/5.14.2/gcc_64/lib:$LD_LIBRARY_PATH export QT_PLUGIN_PATH$QT_HOME/5.14.2/gcc_64/plugins应用配置source /etc/profile source ~/.bashrc4. 常见问题解决方案4.1 libGL缺失问题深度处理当遇到cannot find -lGL错误时可按以下步骤解决确认库文件是否存在locate libGL.so安装必要开发包sudo yum install mesa-libGL-devel mesa-libGLU-devel创建符号链接针对不同路径情况sudo ln -s /usr/lib64/libGL.so.1 /usr/lib/libGL.so替代方案使用软件渲染export QT_XCB_FORCE_SOFTWARE_OPENGL14.2 多版本Qt管理技巧当系统存在多个Qt版本时可通过qmake别名管理alias qmake5142/opt/Qt5.14.2/5.14.2/gcc_64/bin/qmake alias qmake5150/opt/Qt5.15.0/gcc_64/bin/qmake在Qt Creator中配置多个工具链工具类型路径示例qmake/opt/Qt5.14.2/5.14.2/gcc_64/bin/qmakegcc/opt/rh/devtoolset-8/root/usr/bin/gccg/opt/rh/devtoolset-8/root/usr/bin/g5. 桌面集成与效率优化5.1 创建桌面快捷方式安装菜单编辑器sudo yum install alacarte配置Qt Creator启动项命令/opt/Qt5.14.2/Tools/QtCreator/bin/qtcreator图标/opt/Qt5.14.2/5.14.2/gcc_64/doc/global/template/images/Qt-logo.png手动创建.desktop文件~/.local/share/applications/qtcreator.desktop[Desktop Entry] Version1.0 TypeApplication NameQt Creator (5.14.2) Exec/opt/Qt5.14.2/Tools/QtCreator/bin/qtcreator Icon/opt/Qt5.14.2/5.14.2/gcc_64/doc/global/template/images/Qt-logo.png CategoriesDevelopment;IDE;5.2 开发效率提升技巧终端快速启动alias qtnohup /opt/Qt5.14.2/Tools/QtCreator/bin/qtcreator /dev/null 项目模板优化在Qt Creator中配置自定义代码片段设置默认构建目录模式如../build-%{CurrentProject:Name}-%{CurrentKit:FileSystemName}调试配置sudo yum install gdb echo set startup-with-shell off ~/.gdbinit6. 项目构建与部署实践6.1 典型项目构建流程新建项目后的标准操作流程创建构建目录mkdir build cd build配置项目qmake ../ProjectName.pro -spec linux-g make qmake_all编译项目make -j$(nproc)运行测试./ProjectName6.2 部署准备精简发布版本依赖# 查找依赖库 ldd ./YourApp | grep / | awk {print $3} # 创建部署脚本 cat deploy.sh EOF #!/bin/bash TARGET_DIRpackage mkdir -p $TARGET_DIR cp YourApp $TARGET_DIR/ for lib in $(ldd YourApp | grep / | awk {print $3}); do cp -v --parents $lib $TARGET_DIR/ done cp -r /opt/Qt5.14.2/5.14.2/gcc_64/plugins/platforms $TARGET_DIR/ EOF7. 高级配置与性能调优7.1 多线程编译配置在~/.config/QtProject/qtcreator.ini中添加[ProjectExplorer] BuildEnvironmentthreads8或者在项目构建设置中指定make -j87.2 内存优化参数对于大型项目可调整Qt Creator内存设置[Core] MemoryLimit2048在运行配置中添加环境变量export QML_IMPORT_TRACE1 export QT_LOGGING_RULESqt.qpa.*true7.3 远程开发配置通过SSH连接远程服务器开发配置远程设备Tools → Options → Devices → Add设置部署路径和构建环境使用Kit关联远程编译器远程调试配置示例参数值调试器类型GDB调试器路径/usr/bin/gdb服务器地址userremote_host工作目录/home/user/projects/build

相关文章:

CentOS 7下Qt 5.14.2保姆级安装教程:从.run包到菜单栏图标(含libGL报错解决)

CentOS 7下Qt 5.14.2图形化安装全流程实战指南 在Linux环境下进行Qt开发,CentOS 7依然是许多企业和开发者的首选系统。不同于源码编译的复杂过程,使用官方.run安装包能够快速搭建稳定的开发环境。本文将手把手带你完成从安装包准备到菜单集成的完整流程&…...

告别滚动条!用Qt的QTableView实现完美自适应表格(附完整C++源码)

告别滚动条!用Qt的QTableView实现完美自适应表格(附完整C源码) 在桌面应用开发中,表格控件是最常用的UI组件之一。无论是数据管理系统、配置工具还是报表展示界面,表格的呈现效果直接影响用户体验。然而,许…...

嵌入式/RTOS开发者的福音:手把手教你给FreeRTOS任务代码上覆盖率(解决GCOV环境变量和异常退出问题)

嵌入式开发实战:FreeRTOS任务覆盖率统计全流程解析 在资源受限的嵌入式环境中,代码覆盖率统计往往被视为"奢侈品"——传统方案要么依赖标准操作系统支持,要么需要复杂的工具链配置。但对于使用FreeRTOS的开发者而言,通过…...

高性能SVG代码解析引擎:InlineSVGToAI脚本的架构设计与技术实现

高性能SVG代码解析引擎:InlineSVGToAI脚本的架构设计与技术实现 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 在Adobe Illustrator工作流中,SVG代码的直接…...

多PostgreSQL实例统一查询:基于MCP协议的AI数据库助手部署指南

1. 项目概述与核心价值最近在折腾AI Agent的生态,发现一个挺有意思的痛点:很多AI工具,比如Claude Desktop、Cursor,它们内置的MCP(Model Context Protocol)服务器,能很方便地连接各种数据源&…...

DeepSeek-OCR-2图文教程:上传PDF→自动识别→复制文本→导出TXT/JSON

DeepSeek-OCR-2图文教程:上传PDF→自动识别→复制文本→导出TXT/JSON 1. 前言:告别繁琐,让文档识别变得简单 如果你经常需要处理扫描的PDF文档、图片里的文字,或者想把纸质文件变成可编辑的电子版,那么手动打字或者用…...

别只盯着算力!RK3588机器人主板的I/O、ADC与通信接口,才是落地关键

别只盯着算力!RK3588机器人主板的I/O、ADC与通信接口,才是落地关键 在工业机器人系统集成领域,开发者常常陷入"算力至上"的误区。实际上,真正决定项目成败的往往是那些看似平凡的接口——GPIO的响应延迟、ADC的采样精度…...

3大核心突破:让老旧Mac设备重获新生的技术革命方案

3大核心突破:让老旧Mac设备重获新生的技术革命方案 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 在苹果生态系统中,硬件淘汰周期往往…...

AgentDS:领域数据科学中人机协作框架解析

1. 项目概述AgentDS这个项目名称本身就蕴含着丰富的内涵。"Agent"暗示了某种自主性或半自主性的智能体,"DS"显然是Data Science(数据科学)的缩写,而"领域数据科学"则进一步限定了应用范围。从标题来…...

别再只会用LDO了!5V转3.3V的19种电路方案,从成本1毛到高效Buck全解析

5V转3.3V电路设计终极指南:从基础原理到工程实践 在嵌入式系统和物联网设备的设计中,电源转换电路如同人体的血液循环系统,为各个功能模块提供稳定可靠的能量供给。5V转3.3V的电路设计看似简单,实则蕴含着丰富的技术细节和工程权衡…...

Excel高效使用技巧(三):公式与函数实战:常用函数深度解析与错误排查

公式写得好,下班走得早;函数用得妙,加薪来得快。 如果说Excel是一座城市,那么公式和函数就是这座城市的交通网络。用得好,四通八达、畅通无阻;用不好,堵车堵到怀疑人生。 今天这篇文章,咱们不玩虚的,直接上干货——从高频函数的深度解析,到公式错误的排查技巧,手把…...

条件格式的正确打开方式

先说结论条件格式是Excel里最被低估的功能,大部分人只会用它给数据标个颜色,但它其实能帮你做数据可视化、异常值检测、动态高亮,甚至搭出一个简易的数据看板。这个东西是什么条件格式就像一个自动贴标签的助手,你告诉它规则&…...

【第5篇】LobeChat 本地一键部署:你的私人AI工作站,插件生态比肩Notion

系列导航:前四篇搞定了桌面客户端和网页部署,这一篇说 LobeChat——它的插件系统是本文最大的亮点,适合想用 AI 做知识管理、文档处理、网页搜索的人。 一、LobeChat 是什么? 如果说 Cherry Studio 是 AI 客户端里的"快捷酒店"(干净、够用、不折腾),NextChat…...

Hitboxer:告别键盘冲突,让你的游戏操作精准如职业选手

Hitboxer:告别键盘冲突,让你的游戏操作精准如职业选手 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 你是否曾在激烈的游戏中,因为同时按下左右方向键而导致角色"卡住&…...

5分钟快速上手:Mem Reduct内存管理工具终极指南

5分钟快速上手:Mem Reduct内存管理工具终极指南 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/memreduct 你的Wind…...

微信双设备登录终极方案:3步解锁平板模式,工作生活两不误

微信双设备登录终极方案:3步解锁平板模式,工作生活两不误 【免费下载链接】WeChatPad 强制使用微信平板模式 项目地址: https://gitcode.com/gh_mirrors/we/WeChatPad 你是否也经历过这样的烦恼?正用手机回复重要工作消息时&#xff0…...

LinkSwift:八大网盘直链解析终极指南 - 免费高速下载解决方案

LinkSwift:八大网盘直链解析终极指南 - 免费高速下载解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘…...

物理推理与视频模型评估:计算机视觉与物理模拟的交叉应用

1. 项目概述"物理基础推理与视频模型评估"这个项目标题看似简单,却蕴含了计算机视觉和物理模拟两个前沿领域的交叉应用。作为一名在计算机视觉领域深耕多年的从业者,我最近完成了一个类似的项目,今天就来分享一下其中的技术细节和实…...

国科大深度学习期末考了啥?我用Python复现了2020-2023年所有计算题(附完整代码)

国科大深度学习期末计算题实战:用Python复现卷积、损失函数与模型设计 备考深度学习课程时,单纯记忆理论概念往往事倍功半。本文将以2020-2023年国科大深度学习期末考题中的计算题为核心,通过Python代码完整复现解题过程,帮助读者…...

告别硬开关!用LLC谐振变换器实现ZVS/ZCS的保姆级原理拆解(附三种工作模式对比)

告别硬开关!用LLC谐振变换器实现ZVS/ZCS的保姆级原理拆解(附三种工作模式对比) 在电源设计领域,工程师们永远在追求更高的效率和更小的体积。传统硬开关技术带来的开关损耗和EMI问题,已经成为制约电源模块性能提升的瓶…...

SILMA RAGQA V1.0:大语言模型RAG问答评估框架解析

1. 项目背景与核心价值SILMA RAGQA V1.0是当前大语言模型(LLM)评估领域的重要基准测试框架,专门针对检索增强生成(RAG)问答场景设计。这个项目解决了行业内的一个关键痛点:传统LLM评估往往聚焦于通用能力&a…...

别再死记硬背参数了!图解PyTorch nn.Embedding,让你真正理解权重与输入输出

从几何视角彻底理解PyTorch的Embedding层:权重矩阵的视觉化探索 想象你走进一座巨大的图书馆,每本书都有一个独特的编号。当你查询某本书时,管理员会根据编号从特定书架取出对应的书籍。PyTorch中的nn.Embedding层就像这个智能图书管理系统—…...

STM32F407ZGT6驱动舵机云台,我踩过的两个坑:复用引脚与高级定时器使能

STM32F407ZGT6驱动舵机云台:复用引脚与高级定时器的实战避坑指南 调试二自由度舵机云台本该是嵌入式开发的常规操作,直到我在STM32F407ZGT6上遭遇了那些"教科书里没写"的硬件陷阱。当PC6引脚沉默不语、TIM8定时器拒绝输出PWM时,我才…...

别再折腾Vagrant了!用VirtualBox直接导入P4学习镜像(Ubuntu 16/20)的保姆级教程

零基础搭建P4开发环境的终极指南:绕过Vagrant直接使用预配置镜像 对于网络编程初学者来说,P4语言正成为软件定义网络(SDN)领域的重要工具。但许多人在第一步——环境配置上就遭遇了滑铁卢。本文将彻底解决这个痛点,提供一种比官方教程更可靠的…...

N_m3u8DL-RE:破解流媒体下载的三大技术难题

N_m3u8DL-RE:破解流媒体下载的三大技术难题 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE 在当今流…...

从Python迁移到C++:如何用matplotlib-cpp复现你熟悉的Matplotlib图表样式?

从Python迁移到C:用matplotlib-cpp复现Matplotlib图表样式的完整指南 当数据可视化需求遇上高性能计算场景,许多熟悉Python生态的开发者会面临一个关键抉择:如何在保留Matplotlib灵活性的同时,获得C的运行时效率?matpl…...

从SAR图像看海风:手把手教你用Bragg散射模型理解海面粗糙度与雷达回波

从SAR图像看海风:手把手教你用Bragg散射模型理解海面粗糙度与雷达回波 当Sentinel-1卫星的合成孔径雷达(SAR)扫过海面时,图像上那些明暗交错的纹理并非随机噪声,而是海风与波浪的"指纹"。本文将带您透过灰度…...

别再死记‘隔直通交’了!用ESP32和Arduino做个电容特性实验,5分钟搞懂原理

用ESP32和Arduino破解电容迷思:5分钟实验颠覆"隔直通交"刻板认知 每次听到"电容隔直通交"这个说法,我总会想起自己初学电子时的困惑——为什么老师讲得头头是道,我却总觉得哪里不对劲?直到有一天,…...

告别‘大模型’:用CNN+Transformer混合网络,在手机上也能跑出高清超分图

移动端图像超分辨率革命:CNN与Transformer混合架构实战指南 在智能手机摄影成为主流的今天,用户对图像质量的要求越来越高。无论是修复老照片、提升社交媒体图片清晰度,还是优化移动端视觉应用体验,图像超分辨率技术都扮演着关键角…...

别再只数data_count了!巧用Xilinx FIFO的可编程标志(prog_full/empty)做精准流控

突破传统计数局限:Xilinx FIFO可编程标志的高效流控实践 在高速数据处理的FPGA设计中,FIFO(先进先出存储器)作为数据缓冲的核心组件,其性能直接影响系统吞吐量和稳定性。许多工程师习惯依赖rd_data_count和wr_data_cou…...