在 Ubuntu 24.04 中编译 Qt 5.15.2 项目完全指南
1. 前言在跨平台开发中许多团队选择在 Windows 上编写代码在 Linux 上编译和部署 Qt 项目。本文将详细介绍在 Ubuntu 24.04 环境下从零开始搭建 Qt 5.15.2 编译环境的方法并给出所有必需的依赖包、下载链接以及详细的步骤说明帮助你将 Windows 上开发的 Qt 项目顺利迁移到 Linux 编译。在阅读过程中你可以根据需要在对应位置插入截图。文中已预留了图片插入位置方便你记录操作过程。2. 环境准备总览在开始之前我们需要准备好以下核心组件组件版本说明操作系统Ubuntu 24.04 LTS64 位桌面版或服务器版Qt 源码5.15.2从官方下载的源代码包编译器GCC 9 / Clang系统自带或通过 apt 安装构建工具CMake 3.16 或 qmake根据项目类型选择依赖库见下文清单X11、OpenGL、SSL 等图片插入位置此处可插入一张 Ubuntu 24.04 系统信息截图或 Qt 5.15.2 官方发布页面截图。3. 系统基础依赖安装首先更新系统包列表并安装编译 Qt 所必需的基础开发工具和库。打开终端依次执行以下命令sudoaptupdatesudoaptinstall-ybuild-essential perl python3gitsudoaptinstall-ylibfontconfig1-dev libfreetype6-dev libx11-dev\libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev\libxrender-dev libxcb1-dev libxcb-glx0-dev libxcb-keysyms1-dev\libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev\libxcb-sync0-dev libxcb-xfixes0-dev libxcb-shape0-dev\libxcb-randr0-dev libxcb-render-util0-dev libxcb-util0-dev\libxcb-xinerama0-dev libxcb-xkb-dev libxkbcommon-dev\libxkbcommon-x11-dev图片插入位置此处可插入终端执行sudo apt install命令时的截图。接着安装 OpenGL、SSL 和多媒体相关依赖sudoaptinstall-ylibgl1-mesa-dev libglu1-mesa-devsudoaptinstall-ylibssl-dev libopenal-dev libpulse-dev\libasound2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev图片插入位置可插入依赖安装过程中终端输出的截图。4. 下载 Qt 5.15.2 源码所有 Qt 版本均通过官方下载页提供。请注意Qt 5.15.2 属于 LTS 版本需要持有 Qt 账号才能从官方仓库下载。如果你没有商业许可也可以使用社区维护的镜像或第三方源。4.1 官方下载推荐访问 Qt 官方下载页面https://download.qt.io/archive/qt/5.15/5.15.2/选择single目录下的qt-everywhere-src-5.15.2.tar.xz源码包。直接使用 wget 下载wgethttps://download.qt.io/archive/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz图片插入位置此处可插入 Qt 下载页面中 5.15.2 源码包高亮显示的截图。4.2 备用下载如果官方下载速度较慢也可以使用国内镜像例如清华大学开源镜像站https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.15/5.15.2/single/中科大镜像站https://mirrors.ustc.edu.cn/qtproject/archive/qt/5.15/5.15.2/single/5. 解压并配置编译选项下载完成后解压源码包并进入目录tar-xfqt-everywhere-src-5.15.2.tar.xzcdqt-everywhere-src-5.15.2Qt 源码使用configure脚本进行配置。你可以根据项目需求定制编译选项。下面是一个常用的配置命令它包含了大多数桌面应用所需的模块./configure-prefix/opt/Qt5.15.2\-release\-opensource\-confirm-license\-nomakeexamples\-nomaketests\-skipqtwebengine\-qt-zlib\-qt-libpng\-qt-libjpeg\-qt-freetype\-qt-harfbuzz\-qt-pcre\-xcb\-xcb-xlib\-bundled-xcb-xinput\-ssl\-opengldesktop参数说明-prefix /opt/Qt5.15.2安装路径你可以根据个人习惯修改。-skip qtwebengine跳过体积庞大的 QtWebEngine如果项目不需要可以跳过大幅缩短编译时间。-opengl desktop使用桌面 OpenGL避免依赖 EGL 等额外库。图片插入位置此处可插入终端中运行 configure 命令时的输出截图。6. 编译与安装配置成功后屏幕会显示 Qt 的配置摘要。确认无误后开始编译。编译时间取决于机器性能通常需要 30 分钟到数小时不等。make-j$(nproc)-j$(nproc)会使用所有可用 CPU 核心加速编译。编译完成后安装到指定目录sudomakeinstall图片插入位置可插入编译过程中的进度截图以及安装完成后的提示信息截图。7. 配置环境变量安装完成后为了在终端直接使用qmake或qmake5命令需要将 Qt 的 bin 目录加入PATH环境变量。编辑~/.bashrc文件在末尾添加以下内容exportPATH/opt/Qt5.15.2/bin:$PATHexportLD_LIBRARY_PATH/opt/Qt5.15.2/lib:$LD_LIBRARY_PATHexportQT_PLUGIN_PATH/opt/Qt5.15.2/plugins:$QT_PLUGIN_PATH然后使配置生效source~/.bashrc验证安装是否成功qmake-v如果输出类似QMake version 3.1并显示 Qt 5.15.2 的字样说明配置成功。图片插入位置此处可插入终端执行qmake -v的截图。8. 编译你的 Qt 项目现在你已经拥有了完整的 Qt 5.15.2 编译环境。将 Windows 上开发的 Qt 项目源码拷贝到 Ubuntu 中进入项目目录使用以下命令编译如果你使用 qmakeqmake your_project.promake如果项目使用 CMakemkdirbuildcdbuild cmake..-DCMAKE_PREFIX_PATH/opt/Qt5.15.2make如果编译过程中报错缺少某些模块请根据报错信息重新运行 Qt 的configure并添加相应模块再重新编译 Qt 本身。图片插入位置此处可插入编译自己项目时的终端输出截图。9. 常见问题与排错9.1 找不到qmake命令确保环境变量已正确设置并重新打开终端或执行source ~/.bashrc。9.2 缺少libxcb相关库在 Ubuntu 24.04 中默认的libxcb库可能版本较新如果 Qt 5.15.2 配置时仍然提示找不到可以尝试安装libxcb-util1等早期版本或者使用-qt-xcb选项让 Qt 自带编译一份 xcb 支持。9.3 编译qtwebengine失败如果项目不需要 WebEngine强烈建议在配置时使用-skip qtwebengine跳过。如果确实需要可以提前安装libnss3-dev、libnspr4-dev等依赖并参考 Qt 官方文档。图片插入位置可插入典型错误提示的截图或排错成功的终端界面。10. 总结本文详细介绍了在 Ubuntu 24.04 中编译 Qt 5.15.2 项目的完整流程包括系统依赖安装、源码下载、配置、编译、环境变量设置以及项目编译实操。通过以上步骤你可以顺利地将 Windows 上开发的 Qt 项目迁移到 Linux 平台进行编译和部署。如果你在操作过程中遇到任何问题欢迎在评论区留言交流。图片插入位置文末可插入一张编译成功的项目运行截图作为成果展示。

相关新闻

3分钟掌握Mac微信防撤回:为什么你需要这款本地化神器

3分钟掌握Mac微信防撤回:为什么你需要这款本地化神器

3分钟掌握Mac微信防撤回:为什么你需要这款本地化神器 【免费下载链接】WeChatIntercept 微信防撤回插件,一键安装,MAC可用,支持最新v4.1.10微信 项目地址: https://gitcode.com/gh_mirrors/we/WeChatIntercept 还在为重要消…

2026/10/27 22:35:57 阅读更多 →
VibeCoding实时同步工作台:AI编程助手的结构化协作新范式

VibeCoding实时同步工作台:AI编程助手的结构化协作新范式

这次我们来看一个名为 VibeCoding 的项目,它主打“实时同步的工作台”概念。简单来说,这不是一个传统的本地AI模型部署工具,而是一个集成在智能代码编辑器(如 Cursor)中的AI辅助开发环境。它的核心价值在于&#xff0c…

2026/10/21 5:29:39 阅读更多 →
Windows防休眠工具终极指南:告别自动锁屏的智能解决方案

Windows防休眠工具终极指南:告别自动锁屏的智能解决方案

Windows防休眠工具终极指南:告别自动锁屏的智能解决方案 【免费下载链接】NoSleep Lightweight Windows utility to prevent screen locking 项目地址: https://gitcode.com/gh_mirrors/nos/NoSleep 你是否经历过这些令人崩溃的瞬间?正在向客户演…

2026/10/25 8:06:19 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/27 17:33:32 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/27 4:06:49 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/27 7:21:53 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/27 18:20:50 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/27 6:20:47 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/27 4:06:50 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 13:55:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 7:21:50 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 19:19:37 阅读更多 →