【AI时代速通QT】第三节:Linux环境中安装QT并做测试调试
目录
引言
一、Linux QT开发环境的核心要素
1.1 编译器(g++)与构建工具(make)
1.2 搞定 OpenGL 依赖
二、核心步骤——安装 Qt Creator
2.1 获取官方在线安装器
2.2 赋予文件执行权限
2.3 运行图形化安装向导
三、Linux上创建并运行您的第一个 Qt 程序
3.1 启动 Qt Creator
3.2 使用向导创建新项目
3.3 编译并见证奇迹
四、让程序在调试器下运行
总结
🎬 攻城狮7号:个人主页
🔥 个人专栏:C++QT跨平台界面编程
⛺️ 君子慎独!
🌈 大家好,欢迎来访我的博客!
⛳️ 此篇文章主要介绍 Linux环境中安装QT并做测试调试
📚 本期文章收录在《C++QT跨平台界面编程》,大家有兴趣可以自行查看!
⛺️ 欢迎各位 ✔️ 点赞 👍 收藏 ⭐留言 📝!
引言
对于许多 C++ 开发者来说,Qt 框架无疑是一个强大而迷人的存在。它不仅仅是一个 GUI 工具库,更是一个功能完备的跨平台应用开发框架,涵盖了从图形界面、网络通信、数据库操作到多媒体处理的方方面面。借助 Qt,我们可以真正实现"一次编写,处处编译",让我们的应用程序优雅地运行在 Windows、macOS 和 Linux 等不同操作系统之上。上两节我们介绍了QT在windows上的安装和项目创建,这一节我们将介绍QT在Linux系统下的安装和使用。
在 Windows 和 macOS 上,Qt 的安装过程通常是一条平坦大道,图形化的安装向导已经为我们铺平了几乎所有的道路。然而,当我们踏入 Linux 这片以开放和自由著称的土地时,情况就稍微变得"有趣"了一些。Linux 的多样性和高度可定制性,意味着我们开发者需要更多地了解系统底层的工作方式,亲手完成一些环境的配置工作。
这并非一件坏事。恰恰相反,这个过程能让我们更深刻地理解应用程序是如何被编译、链接并最终在屏幕上渲染出来的。
我们的目标是,不仅要"授人以鱼",告诉您每一步该"做什么",更要"授人以渔",解释"为什么要这么做"。无论您是 Linux 新手还是 C++ 老兵,相信都能跟随本文的指引,顺利地在您的 Linux 系统中点亮第一个 Qt "Hello World"窗口。
一、Linux QT开发环境的核心要素
在正式请出 Qt 这位主角之前,我们必须为它搭建一个稳固的舞台。在 Linux 中进行 C++ 开发,我们至少需要两样核心工具:编译器和构建系统。
1.1 编译器(g++)与构建工具(make)
想象一下,您是一位用 C++ 语言书写建筑蓝图(源代码)的设计师。这份蓝图本身,建筑工人(计算机CPU)是看不懂的。这时,我们就需要一位翻译官——编译器。在 Linux 世界中,GCC (GNU Compiler Collection) 是最负盛名的编译器套件,而 `g++` 就是其中专门负责翻译 C++ 代码的成员。它能将我们写的 `.cpp` 文件,转换成机器能够执行的二进制指令。
当一个项目变得庞大,包含了成百上千个源文件时,手动一个一个地去编译它们,就像让一位翻译官去逐字逐句地翻译一本巨著,效率低下且容易出错。于是,构建系统应运而生,`make` 就是这个领域的"老师傅"。我们只需制定一套规则(Makefile),`make` 就能自动分析文件之间的依赖关系,决定哪些文件需要重新编译,然后有条不紊地调用 `g++` 等工具完成整个编译和链接过程。
在基于 Debian/Ubuntu 的 Linux 发行版中,我们无需单独安装 `g++` 和 `make`。系统提供了一个名为 `build-essential` 的"开发大礼包",它包含了编译器、构建工具以及其他开发所需的各种基础库和头文件。
打开您的终端,执行以下命令来安装这个基础套件:
sudo apt-get updatesudo apt-get install build-essential
第一条命令 `sudo apt-get update` 用于刷新软件源列表,确保我们能获取到最新的软件包信息。第二条命令则是正式安装。当系统提示您确认时,输入 `Y` 并按回车即可。这个"大礼包"为我们后续的开发工作奠定了坚实的基础。
如果我们只想在windows系统下使用linux,我们可以安装VMware虚拟机,在虚拟机上安装Ubuntu,由此测试在linux上安装QT。如果不安装上面的套件,就要另外执行下面命令来安装g++和make:
apt-get install g++ make
1.2 搞定 OpenGL 依赖
在源文件中,作者提到了一个关键的步骤:在编译项目时遇到了一个关于"基友的库"(原文谐音,实为 GL 库)的错误,最终通过安装一个名为 `libgl1-mesa-dev` 的软件包解决了问题。这其实触及了 Qt 图形渲染的核心。
Qt 能够绘制出精美的窗口、按钮、图表和动画,其背后离不开图形硬件的强大能力。而 OpenGL (Open Graphics Library) 就是应用程序与图形硬件之间沟通的桥梁,它是一套标准的图形编程接口(API)。
在 Linux 上,Mesa 3D 是 OpenGL 最主流的开源实现。我们要安装的 `libgl1-mesa-dev` 正是 Mesa 库的开发版本。这里的 `-dev` 后缀至关重要,它告诉系统,我们不仅需要能够在系统上运行 OpenGL 程序的库文件(`libgl1-mesa`),更需要用于编译 Qt 程序的头文件和链接库。没有这些开发文件,编译器在构建 Qt 程序时,就找不到 OpenGL 相关的函数定义,从而导致链接错误。
在遇到错误后才"亡羊补牢",我们不如"未雨绸缪",在安装 Qt 之前就将它准备好:
sudo apt-get install libgl1-mesa-dev
提前完成这一步,可以确保我们的 Qt 安装和首次项目编译过程如丝般顺滑,避免不必要的挫败感。
二、核心步骤——安装 Qt Creator
万事俱备,只欠东风。现在,我们可以正式开始安装 Qt 框架和它的官方集成开发环境(IDE)—— Qt Creator 了。
2.1 获取官方在线安装器
Qt 官方提供了在线(Online)和离线(Offline)两种安装方式。离线安装包体积巨大,包含了所有模块;而在线安装器则是一个小巧的启动程序,它会根据你的选择,从网络上下载你需要的组件。我们推荐使用在线安装器,因为它更灵活,也能节省大量的磁盘空间。
您可以直接从 Qt 官网( https://www.qt.io/download )找到适用于 Linux 的在线安装器。或者下载第一节中我们提供的 `qt-unified-linux-x64-4.7.0-online.run` 安装文件。
2.2 赋予文件执行权限
在 Linux 系统中,出于安全考虑,从网络上下载的文件默认是没有执行权限的。我们需要手动为它"授权"。假设您将文件下载到了"下载"目录,请打开终端,进入该目录并执行:
cd ~/下载chmod +x qt-unified-linux-x64-*.run
这里的 `chmod +x` 命令就是"change mode"和"add executable"的缩写,`*` 是一个通配符,可以匹配不同版本号的文件名。
2.3 运行图形化安装向导
现在,激动人心的时刻到了。在终端中运行安装器:
./qt-unified-linux-x64-*.run
一个熟悉的图形化安装向导将展现在您面前。接下来的步骤需要您多加留意:
(1)Qt Account:Qt 的开源版本需要使用 Qt Account 登录进行安装。如果您没有账户,请花几分钟免费注册一个。或者如下直接跳过。
(2)安装目录:向导会建议一个安装路径,例如 `~/Qt`。这是一个非常好的选择,因为它位于您的用户主目录下,不需要管理员权限即可写入,方便后续管理。或者安装在 `/opt/Qt` 目录,这也是一种常见的做法,但通常需要 `sudo` 权限来运行安装器,且管理起来稍显不便。对于个人开发而言,我们更推荐默认的用户主目录路径。
(3)关键一步:选择安装组件:这是整个安装过程中最核心、也最容易出错的环节。仔细勾选您需要的组件。
- Qt 版本:在最顶层,您会看到可供选择的 Qt 版本,例如 `Qt 5.9.0`。请展开您希望安装的版本。
- 核心模块:在展开的树形列表中,找到名为 `Desktop development (GCC 64-bit)` 或 `Desktop GCC` 的条目。这正是源文件中提到的 `disktop GCC`,务必勾选它!这个组件包含了使用 g++ 编译器构建桌面应用所需的所有预编译好的 Qt 库。
- 可选模块:您可以根据需要,勾选其他模块,例如 `Qt WebEngine`(用于嵌入网页内容)、`Qt Charts`(用于绘制图表)等。对于初学者,暂时可以只保留默认的核心模块。
- 开发工具:向下滚动,确保 `Qt Creator` 已经被勾选。它通常是默认选中的。
确认您的选择无误后,便可一路"下一步",同意许可协议,然后静待安装程序从网络上下载并安装您选择的所有组件。
三、Linux上创建并运行您的第一个 Qt 程序
安装完成后,让我们立刻验证一下劳动成果。
3.1 启动 Qt Creator
如果Qt Creator 的可执行文件位于安装目录的 `Tools/QtCreator/bin/` 路径下。如果您遵循了建议,安装在主目录,那么可以在终端中通过以下命令启动它:
~/Qt/Tools/QtCreator/bin/qtcreator
为了方便日后使用,不必每次都输入这么长的路径,我们可以像源文件中提到的那样,为它创建一个"快捷方式"(符号链接):
sudo ln -s ~/Qt/Tools/QtCreator/bin/qtcreator /usr/local/bin/qtcreator
这样,未来您在任何终端窗口中,只需输入 `qtcreator` 即可快速启动 IDE。
但上面的安装在opt目录下,切换su身份后,按如下进去目录运行qtcreator。
3.2 使用向导创建新项目
(1)在 Qt Creator 的欢迎界面,点击"New Project"或通过菜单"File" > "New Project"。
(2)在弹出的窗口中,选择模板:Application (Qt) > Qt Widgets Application。这是一个最经典的带窗口的桌面应用模板。
(3)为您的项目命名,例如 `testqt`,并选择一个存放位置。
(4)构建套件(Kit Selection):这一步至关重要。Qt Creator 会自动检测到我们之前安装的 `Desktop GCC` 组件,并将其配置为一个"构建套件"。"套件"是 Qt Creator 的一个核心概念,它捆绑了特定的 Qt 版本、编译器(g++)和调试器(gdb)。确保这里已经自动为您选中了刚刚安装的那个套件。
(5)后续步骤如下选择QWidget类即可,向导会自动为您生成一个主窗口类。
3.3 编译并见证奇迹
项目创建后,您会看到 Qt Creator 的主界面。左侧是项目文件浏览器,中间是代码编辑器。在界面的左下角,您会看到一个"电脑显示器"图标,旁边有几个按钮:一个绿色实心三角(运行)、一个带虫子的绿色三角(调试)和一个锤子(构建)。
直接点击那个绿色的"运行"三角按钮。
Qt Creator 会在后台自动调用 `make` 和 `g++`,对生成的代码进行编译和链接。
如果像上面的报错,就要通过如下命令安装gl库:
sudo apt-get install libgl1-mesa-dev
如果您的环境准备和 Qt 组件选择都准确无误,稍等片刻,一个空白的、带着标准窗口边框的应用程序就会出现在您的屏幕上。
恭喜!您已经在 Linux 上成功创建并运行了第一个 Qt 程序!
四、让程序在调试器下运行
一个完整的开发环境,不仅要能编译代码,更要能调试代码。
(1)设置断点:比如双击 `widget.cpp` 文件,在其中的任意一行代码旁边的行号处单击鼠标左键,或者将光标移动到该行后按 `F9` 键。一个红色的圆点会出现,这就是断点。
(2)启动调试:这次,请点击那个带虫子的绿色"调试"按钮,或者直接按 `F5` 键。
(3)程序暂停:程序会开始运行,但当执行到您设置的断点时,它会立刻暂停。Qt Creator 的界面会自动切换到调试视图,高亮显示当前暂停的代码行。
(4)单步执行:您可以按 `F10` 键(Step Over)让程序向下执行一行代码。在调试视图的下方,您还可以实时查看和监控变量的值。
当您能成功地让程序在断点处停下,并能进行单步跟踪时,这便宣告您的 Qt for Linux 开发环境已经完美搭建,编译器、Qt库、IDE和调试器之间的"任督二脉"已全部打通。
总结
回顾我们的旅程,在 Linux 上搭建 Qt 开发环境的核心,其实就是遵循一个清晰的逻辑链条:首先,通过 `build-essential` 确保 C++ 开发的基石(编译器和构建工具)稳固;其次,通过 `libgl1-mesa-dev` 满足 Qt 图形渲染的前置依赖;最后,在 Qt 安装过程中,精准地选择与我们系统环境匹配的 `Desktop GCC` 组件。
相较于 Windows 下的"一键式"体验,Linux 确实需要我们多一些耐心和细致。但这份付出是值得的。它不仅让我们收获了一个稳定、高效且高度定制化的原生开发环境,更让我们在无形中深化了对软件开发底层原理的理解。现在,一片广阔的跨平台开发新天地已在您面前展开,尽情用 Qt 去创造吧!
看到这里了还不给博主点一个:
⛳️ 点赞
☀️收藏
⭐️ 关注
!
💛 💙 💜 ❤️ 💚💓 💗 💕 💞 💘 💖
再次感谢大家的支持!
你们的点赞就是博主更新最大的动力!