做 Qt 开发的人,十有八九都经历过“上来装环境装到怀疑人生”的阶段。明明只是个下载和安装,点几下按钮的事,结果一搜教程,版本五花八门,online installer、offline installer、MinGW、MSVC、组件库、镜像站……新手直接懵掉。更要命的是,装完之后新建项目一运行,Qt Creator 给你弹一个“could not find or load the Qt platform plugin”的报错,瞬间血压拉满。
这篇文章不打算讲那些花哨的开发技巧,就专注解决“Qt 下载与安装”这个最基础、但坑最多的环节。我会把下载前的版本选择、在线和离线安装包的区别、Windows 和 Linux 两套安装流程、以及装完之后的经典报错一次性梳理清楚。不管是刚入门的新手,还是换电脑后要重装环境的老手,照着这套思路走,能少走很多弯路。
1. 下载之前先想清楚的三件事
很多人一上来就搜“qt下载”,赶紧点了一个大大的 Download 按钮,装到一半才发现不对劲:这东西怎么要我注册账号?怎么组件这么多?装完桌面占了好几个 G 的空间?其实这些问题的根源,都是下载前没想清楚三件事。
1.1 Qt 版本到底该选 5.15 还是 6.x
打开 Qt 官网的下载页面,你会发现版本号特别多,5.15.2、6.2、6.5.3、6.6……到底选哪个?这个问题的答案取决于你是接手老项目还是开新项目。
如果你是在公司维护老项目,千万别自己拍板选新版。先看项目用的 Qt 版本是多少,跟着项目走就对了。个人学习或者新项目启动,我建议优先考虑 5.15.2 和 6.5 系。5.15.2 是 Qt 5 时代的最后一个长期支持版本,社区资料极其丰富,网上搜到的教程绝大多数都直接适用,很多嵌入式板子、工控厂商提供的 SDK 也还停留在 5.15 附近。6.x 从 6.2 开始才真正成熟,6.5 是 LTS 版本,C++20 支持、更好的 Wayland 支持、更现代的内部架构都是加分项,但新技术也意味着你搜问题的时候,很多答案还停留在 Qt 5 的年代,需要做一点“版本翻译”。
还有个容易被忽略的点:Qt 从 5.15 开始,开源版安装包不再提供离线安装器(官方那种打包好的.exe),在线安装器成了主流。但 5.15.2 生命周期比较特殊,开源离线包还能在官方 archive 和镜像站找到,6.x 之后基本只能走在线安装器。选择版本的时候,也要一并考虑你后续的网络环境和使用场景。
1.2 编译器套件:MSVC 还是 MinGW,必须二选一
Windows 下安装 Qt,安装器会问你选哪个“套件”(Kit)。常见两个选项:MSVC 2019/2022 64-bit、MinGW 11.2.0 64-bit。很多人第一次装的时候根本没在意,挑了其中一个,后面用别的编译器打开工程,直接一堆红色波浪线。
这两个套件的核心区别在于背后用的是哪套编译工具链。MSVC 是微软的 Visual Studio 编译器,Qt 官方针对它发布了带msvc2019_64标记的二进制库;MinGW 是 Windows 下的 GNU 编译器移植版,Qt 官方也发布了配套的mingw_64库。换句话说,你用哪个编译器,就必须下载匹配哪个编译器的 Qt 库,不能混着来。你装的是 MSVC 版本的 Qt,然后在 Qt Creator 里选 MinGW 编译器去构建,那你大概率会看到一大堆“无法打开头文件”“未定义的引用”之类的错误。
如果说人话,MSVC 版本适合你习惯用 Visual Studio 开发、项目里可能要用 Windows 平台专用 API 的情况;MinGW 更适合喜欢开源工具链、或者你日常就在 Linux 上用 GCC、切到 Windows 想保持统一开发习惯的情况。我的建议是:如果没特别偏好,Windows 上优先选 MSVC,它的调试器体验和 Windows 系统兼容性更稳,而且很多第三方库的预编译版本主要提供 MSVC 版。如果非要两个都装,也没问题,安装时同时勾上即可,但代价就是磁盘空间膨胀得厉害,一个 Qt 库两个编译器版本,一个库目录差不多 1 到 2 个 G。
1.3 在线安装器和离线安装包,不是文件大小那么简单
所谓在线安装器,就是 Qt 官网那个只有几十 MB 的引导程序,它本身不包含 Qt 库,运行起来之后按需从网络上下载你勾选的组件。离线安装包则是一个动辄几个 GB 的完整安装文件,把主流组件都预打包进去。
在线安装器的优势是灵活,你想装什么组件就装什么组件,MinGW 和 MSVC 的库可以并存,还能选择同一版本的不同编译器套件。缺点是安装过程极度依赖网络,默认官方服务器在海外,下载速度慢到让人想砸电脑。离线安装包则相反,速度取决于你下载它时的网络状况,之后安装过程基本不受网络影响,特别适合内网环境、多次安装、或者机器上没通外网的场景。
不过要注意,官方不再给新版本提供离线安装包,想要离线包的,只能去各种镜像站找历史归档版本。镜像站这个东西我在下一节会单独讲,它算是所有 Qt 开发者都必须知道的基础设施。
2. 拿到安装包:官方下载渠道与国内镜像源
搞清楚版本和套件之后,下一步就是真正去拿安装包。这里有不少细节,选错了渠道,你可能要在下载页面折腾一整天。
2.1 官方在线安装器的正确获取方式
Qt 官方下载地址在download.qt.io,页面设计得很生态,各种版本归档、在线安装器、源码包都能找到。一般进入官网后点下载按钮,会引导你下载一个在线安装器,文件名类似qt-unified-windows-x64-online.exe。这个文件是 Qt 统一安装框架(Unified Installer)的产物。
需要提醒的是,安装过程中会要求你登录 Qt 账号。注册 Qt 账号是免费的,注册后安装器会让你选择“开源用户(Open Source)”还是“商业用户(Commercial)”。个人开发者、学习用途,选开源即可。选完还要在协议页面确认“我使用 Qt 开源许可证”的复选框,这一步有用户会漏掉,导致安装无法继续,往下走之前把协议完整读一遍,至少把那个“open source obligations”的勾选给勾上。
在线安装器本身对网络的要求很高。国内直连官方服务器,经常是刚开始几秒钟速度还行,之后直接掉到几十 KB/s。如果你没提前配镜像源,装到一半还可能报网络错误,然后要从头再来。所以,我建议在安装器正式下载 Qt 组件之前,先去“Tools > Options”里面把下载源换成国内镜像。
2.2 国内镜像源配置:清华、中科大,哪个顺手用哪个
国内访问 Qt 官方源太慢,这件事不是你的网问题,是物理距离问题。好在国内几所高校和开源社区都提供了 Qt 的完整镜像,其中比较稳定的有清华 TUNA 镜像站、中科大 USTC 镜像站、阿里云镜像站等。
镜像站的用法有两种。一种是把镜像站作为在线安装器的“默认仓库”地址,让安装器从镜像站拉取组件;另一种是直接在镜像站上下载离线安装包或源码包。先说第一种。
打开在线安装器之后,在安装界面右上角或菜单栏里找到“Tools > Options”(不同版本位置略有差异),在 “Default file repositories” 选项卡里,把官方地址删除或替换为镜像地址。以清华镜像为例,Qt 在线仓库的路径是https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/root/qt/。注意这个路径是区分平台的,Windows 填 windows_x86 系列,Linux 填 linux_x86 系列,别搞混了。
中科大的路径格式类似,区别在于域名和目录层级。填完之后,安装器再去拉取组件列表,速度就会有质的提升,有时候能从几 KB/s 直接拉到几 MB/s。这个操作在每个版本的安装器里都适用,值得收藏起来反复用。
2.3 离线安装包从哪里找,怎么选
如果你确定要走离线安装路线,最经典的途径就是镜像站的 archive 目录。以清华镜像为例,路径是https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.15/5.15.2/。进去之后能看到一大堆安装文件,命名格式通常像qt-opensource-windows-x86-5.15.2.exe、qt-opensource-linux-x64-5.15.2.run。选和你系统架构匹配的那个就行。
下载离线包之前,先确认下你下载的这个文件是“双平台”还是“单平台”版。比如windows-x86后缀是针对 Windows,macos针对 macOS,linux-x64针对 Linux。选错文件类型,后面运行的时候系统会直接拒绝执行,白下好几个 G。
还有一个小细节:某些镜像站打出来的归档文件非常全,包括源码包(.tar.xz)、预编译二进制包、以及各种补丁。如果你只是想快速装好一个能用的 Qt 环境,直接找离线安装器即可,不要手贱去下载源码包,那个东西是要你本地用 CMake 编译的,耗时以小时计,安装体验完全不是一回事。
3. Windows 下 Qt 安装实操全流程
Windows 是多数 Qt 开发者的主战场。正常情况下,一套流程走完十五到三十分钟,视网络速度而定。下面我把整个流程拆开,从安装器界面到组件勾选到环境变量配置,按步骤给你捋一遍。
3.1 在线安装器界面一步一步怎么走
拿到在线安装器后,双击运行,会进入 Qt 统一安装器的向导界面。第一步是欢迎页,没有太多需要操作的东西,点击 Next。接着会提示你输入 Qt 账号和密码。如果你没有账号,点击注册,浏览器会跳转到 Qt 官网,注册完之后回来登录。
登录成功后,安装器会进入组件选择界面。这个界面是整个安装过程中最重要的,所有复杂度和暗坑都集中在这里。组件列表由几个大区块组成:Qt 6.x.x 或 Qt 5.15.x 下面的各个模块(Qt Charts、Qt WebEngine、Qt Multimedia 等)、Developer and Designer Tools(Qt Creator、CMake、Ninja、MinGW 编译器、MSVC 工具链等)、以及 Qt Debugger、Sources 等辅助组件。
安装路径这里,我会再三强调一件事:路径中不要出现中文、空格和特殊符号。Qt 官方对非 ASCII 路径的支持并不算好,如果你把 Qt 装到D:\软件\Qt或者C:\Program Files\Qt下面,后面编译第三方库、调用 CMake、配置交叉编译时,非常容易遇到路径解析错误。建议直接用D:\Qt或C:\Qt这种简洁路径。
3.2 组件勾选:哪些该勾,哪些可以省
组件勾选是新手最容易犯错的地方。有人图省事,把列表里的模块全部勾上,结果安装包体积轻松突破 20G,安装耗时数小时;有人为了“轻量”,只勾了 Qt Core 和 GUI,结果后面项目里用#include <QtCharts>时发现头文件根本找不到。
我的建议是“按需勾选,少走回头路”。以下是 Windows 上比较推荐的勾选策略:
- Qt 5.15.2 主模块:至少勾选
MSVC 2019 64-bit(或MinGW 8.1.0 64-bit)。如果你决心用 MinGW,就勾选 MinGW 对应的那一项。如果两个都想要,空间又够,可以都勾。 - Qt 常用附加模块:
Qt Charts(画图和曲线相关)、Qt Data Visualization(三维数据展示)、Qt Multimedia(音视频)、Qt WebEngine(内嵌浏览器,体积大,慎选)、Qt Serial Port(串口)、Qt SVG(矢量图形)。这些按项目需求来选,反正安装器里随时可以再添加组件,不用怕第一次漏了。 - Developer and Designer Tools:
Qt Creator必选,它是官方 IDE;MinGW 11.2.0或MSVC 2019 64-bit根据你的编译器策略选择;CMake建议勾上,现在很多项目都往 CMake 迁移;Ninja作为构建工具也很常用;Debugger里如果系统装有 Windows SDK,会自动检测到 CDB 调试器,没有也不影响基本开发。
一个容易踩的细节是:Qt 库版本和编译器版本必须严格对应。比如安装器里同时提供了 Qt 5.15.2 的MinGW 8.1.0 64-bit和MinGW 11.2.0 64-bit两套库,但你系统安装的 MinGW 编译器只有 11.2.0,那你最好只勾选这个编译器对应的 Qt 库,不要勾 8.1.0 的。否则 Qt Creator 自动检测构建套件时会出现“编译器无法匹配”的警告,项目会构建失败。
3.3 环境变量与 Qt Creator 集成
安装完成后,Qt Creator 一般会自动检测到安装的 Qt 库和构建套件,不需要手动配置也能正常开发。但如果你打算用命令行来编译程序,或者要在某些 IDE(比如 VS Code、CLion)里调用 Qt,环境变量就得手动配置。
运行时最关键的 PATH 是 QTDIR 下的bin目录。比如我安装在D:\Qt\5.15.2\msvc2019_64,那D:\Qt\5.15.2\msvc2019_64\bin里面包含 Qt 的 DLL。在系统环境变量的 PATH 中加入这个目录,程序运行时才能找到 Qt 库。如果你用的是 MinGW 版本,对应目录是D:\Qt\5.15.2\mingw81_64\bin。同时,D:\Qt\Tools\mingw810_64\bin(MinGW 工具链目录)也需要加入 PATH,不然编译器命令找不到。
关于 Qt Creator 的自动检测,有一点要特别说明:如果之前系统里已经装过老版本 Qt,Qt Creator 可能同时识别出多个 Kit,比如 5.15.2 和 6.2 都有。默认 Kit 可能不是你想要的,新建项目时一定要检查编译套件那一栏选对,不然按了运行之后,你会发现编译器在旧版本或者错误套件上,跑起来的程序效果完全不对。
3.4 命令行编译一个最小程序验证环境
装完环境,最快速的环境验证方式不是直接在 Qt Creator 里建工程,而是用命令行编译一个最小的 Qt 程序。这个步骤能让你直观地感知 qmake、编译器、环境变量是否全部就位。
假设你已经把D:\Qt\5.15.2\msvc2019_64\bin和 MSVC 编译器的vcvars64.bat的调用路径都搞定,那么在空目录下新建一个main.cpp:
#include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel label("Hello Qt"); label.show(); return app.exec(); }再建一个最简单的.pro文件:
QT += core gui widgets CONFIG += c++11 TARGET = hello TEMPLATE = app SOURCES += main.cpp打开“VS 2019 开发人员命令提示符”(或者先执行 vcvars 到普通 cmd 里),然后依次执行:
qmake hello.pro nmake如果环境变量配置无误,这一步会生成hello.exe,运行后弹出一个小窗口显示 “Hello Qt”。如果卡在这一步,大概率是 qmake 找不到编译器或者环境变量缺失,需要回到 3.3 小节重新检查。
4. Linux 环境安装与交叉编译配置
Linux 下装 Qt 跟 Windows 思路差不多,但细节差异挺大,尤其是依赖库和交叉编译这两块,几乎每个新手都会在这翻车。我自己常年在 Ubuntu 20.04 上折腾 Qt,下面把 Linux 场景一些高频需求捋一遍。
4.1 Ubuntu 20.04 安装 Qt 开发库与依赖
在 Ubuntu 上获取 Qt,主要有两种方式:通过 apt 直接安装系统包,或者从 Qt 官网下载官方安装器。apt 方式的好处是安装简单、依赖自动解决,坏处是版本通常不是最新,比如 Ubuntu 20.04 自带的 Qt 5.12.8,对新特性支持不够。官方安装器的好处是版本自己选,但需要手动解决系统依赖。
如果你用官方安装器,先在 Ubuntu 上装一堆基础依赖,否则安装器运行起来会出现各种缺库的报错。常见的依赖包括:
sudo apt update sudo apt install build-essential libgl1-mesa-dev libglu1-mesa-dev libxkbcommon-x11-0 libxcb-* libx11-xcb-dev libdbus-1-dev libfontconfig1-dev libfreetype6-dev libwayland-dev细数这些依赖,核心是 OpenGL 相关的库(比如 libgl1-mesa-dev)和 X11 相关协议库。Qt 在 Linux 上默认走 X11 或 Wayland 显示服务器,缺少这些库的话,编译一个带界面的程序能成功,但运行时会提示libxcb.so或libGL.so找不到,报错信息里经常带could not load the Qt platform plugin "xcb"字样,很多人都会被这个坑卡住。
装完依赖后,下载 Linux 版在线安装器,记得先赋予执行权限:
chmod +x qt-unified-linux-x64-online.run ./qt-unified-linux-x64-online.run在线安装器启动后会图形化引导,流程和 Windows 版非常相似。注意在组件选择阶段,Linux 版一般会多出Linux Desktop gcc_64这样的套件标识,选上对应编译器套件就行。
4.2 Qt 交叉编译环境怎么搭
交叉编译是嵌入式开发绕不开的话题,热词里出现的“ubuntu-20.04 安装 qt 交叉编译环境”就是这个需求。所谓交叉编译,简单说就是你在 x86 的电脑上,编译出能在 ARM 开发板上运行的程序。目标板子的 CPU 架构和电脑不一样,所以需要用对应的交叉编译器来代替本机的 gcc。
Qt 交叉编译环境的搭建流程,大体分三步。
第一步,准备交叉编译器。假设目标板子是 ARM64 架构(比如树莓派 64 位系统或者 RK3588 开发板),那就需要安装aarch64-linux-gnu-gcc:
sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu安装完成后,可以用aarch64-linux-gnu-g++ --version验证。
第二步,准备目标板文件系统(sysroot)和 Qt 库。这一步比较麻烦,因为 Qt 库必须也是 ARM 架构的版本。通常有两种做法:一种是从开发板厂家提供的 SDK 里直接拿编译好的 Qt 库,另一种是在开发板上自己用 Qt 源码交叉编译出 Qt 库。后者对新手不太友好,建议优先找 SDK。把整套 ARM 版 Qt 库放到一个目录,比如/opt/arm-qt下面,后面作为 Qt Creator 的 Qt 版本路径。
第三步,在 Qt Creator 中新建 Kit。路径在“Tools > Options > Kits”,新增一个编译器,把 C 和 C++ 编译器都指向aarch64-linux-gnu-gcc等交叉编译器,然后把 Qt 版本指向 ARM 版 qmake 的路径。最后新建一个 Kit,关联这个编译器和 Qt 版本。构建工程时选择这个 Kit,出来的产物就是 ARM 架构的可执行文件。
这一步里最坑的是 sysroot 的依赖问题。Qt 程序运行还需要依赖目标板上的 glibc、libstdc++ 等基础库,如果交叉编译时编译器找不到对应的头文件和库,报错会铺天盖地。最简单的方式是用板卡厂商提供的全套工具链和文件系统目录,而不是自己在 Ubuntu 上瞎猜。
4.3 Linux 上安装器与依赖问题排查实录
Linux 下用官方 Qt 安装器装完,打开 Qt Creator 后,常见的问题有这么几个:
一是打开程序后一片黑窗或者点按钮没反应,这多半是显卡驱动问题,Qt 的渲染后端没起来。排查时先在终端跑一下程序,看看有没有类似libGL.so: cannot open shared object file的报错,有的话说明 Mesa 相关库缺失,重新装一遍libgl1-mesa-dev。
二是程序能启动,但窗口显示字体发虚、中文乱码。这种情况通常是系统缺少中文字体导致的,安装fonts-wqy-zenhei之类中文字体包,Qt 拿到字体之后基本能恢复正常。
三是 Qt Creator 本身能跑,但一编译就报g++: not found或者cannot find -lGL。前者是 build-essential 没装,后者是 OpenGL 环境没配好。双双补齐之后,大部分编译问题能解决。
5. 安装部署后最容易踩的 5 个经典坑
环境装好只是第一步,真正让人原地崩溃的,是那些在装完环境后立刻出现的“薛定谔的报错”。我把过去几年见到的、以及热词里频繁被搜索的几类经典问题汇总一下,全部给出排查路径,照着做基本能解决。
5.1 cannot mix incompatible Qt library 版本冲突
热词里有这样一条:“cannot mix incompatible Qt library (5.15.3) with this library (5.15.2)”。这个报错的杀伤力极大,第一次遇到的人往往一头雾水:明明自己只装了一个 Qt 版本,怎么跑出来的程序能用两个不同的库?
实际上,这个报错的本质是“动态链接冲突”。你的主程序链接的是 Qt 5.15.2 的库,但运行时后加载的某个插件或者本地 DLL 却链接了 Qt 5.15.3 的库。两个版本的 Qt 库在同一进程里共存时,内部的对象布局、信号槽机制、元对象系统可能不一致,因此 Qt 在启动时会用QInternal检查,发现版本不同直接拒绝运行。
出现这种情况的典型场景有三类:一是系统 PATH 里残留了旧版 Qt 的 DLL,导致程序加载依赖时优先找到了错位的库;二是某个第三方插件是用另一个 Qt 版本编译的;三是程序本身链接的 Qt 库目录和运行时动态搜索的目录不一致。排查思路就是从 PATH 入手,在命令行执行echo %PATH%,把 Qt 相关路径挨个核对,确认没有两个版本的 bin 目录同时存在。如果打包程序,还要检查windeployqt拷贝出去的 DLL 是否全部来自同一个版本目录。
5.2 Qt 平台插件路径错误:qt_qpa_platform_plugin_path
Windows 上运行 Qt 程序时,经常会碰见这样一条报错:
This application failed to start because no Qt platform plugin could be initialized.这是一个非常经典的“平台插件”问题。Qt 程序启动时需要通过底层平台插件来创建窗口,Windows 下对应的是qwindows.dll,位于plugins/platforms目录中。如果程序找不到这个插件,就会直接退出。
出现这个问题的常见原因包括:程序运行目录不对、环境变量QT_QPA_PLATFORM_PLUGIN_PATH指向了错误路径、打包时遗漏了 platforms 目录、或者平台插件的位数与程序不一致(64 位程序加载了 32 位插件)。排查时可以先在命令行里手动指定插件路径试试:
set QT_QPA_PLATFORM_PLUGIN_PATH=D:\Qt\5.15.2\msvc2019_64\plugins\platforms hello.exe如果这样能跑通,说明程序本身没问题,是运行环境找不到插件目录。打包发布时,记得用 windeployqt 把 plugins 目录完整复制到可执行文件旁边,这个问题就会自动消失。
5.3 Qt Creator 构建套件自动检测出多个 Kit,且某些 Kit 显示感叹号
安装完 Qt 后,Qt Creator 会自动扫描系统环境,把能用的编译器、调试器、Qt 版本组合成若干套件。如果你电脑上装了 VS、MinGW、老版本 Qt,那么套件列表会很壮观。某些套件显示感叹号,意思是有部分组件不可用,比如某个 Qt 版本没有对应的编译器,或者调试器缺失。
处理思路不是“删掉所有感叹号”,而是选对一个真正可用的套件。如果你只想用 MinGW,那就手动添加一个 Kit:选择 MinGW 编译器,选择对应 MinGW 版本的 Qt 库,Debugger 里如果没有就暂时留空。重点是保证“编译器、Qt 版本、CMake、Ninja”这些条目里没有红色感叹号,黄色警告可以忽略。
5.4 MSVC 版 Qt 在 Qt Creator 中找不到编译器
Windows 上装了 Qt 5.15.2 MSVC 版,打开 Qt Creator 时发现没有任何可用套件,提示找不到 MSVC 编译器。这个问题的根源在于,Qt 的 MSVC 套件不是自带微软编译器的,它只是预编译好的库,真正的cl.exe来自 Visual Studio Build Tools。
解决方法是安装 Visual Studio 2019 或 2022 的 Build Tools 版本,装的时候勾选“使用 C++ 的桌面开发”工作负载。安装完成后,重新启动 Qt Creator,它会通过 MSVC 的注册信息自动发现编译器。如果你希望从命令行手动调用 MSVC 编译,则每次编译前要先执行一次 VS 的开发者环境初始化脚本,比如:
"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsDevCmd.bat" -arch=amd64然后才能正常使用 qmake 和 nmake。
5.5 打包发布后目标机器提示缺少 DLL
开发环境跑得好好的,把 exe 拷到一台干净电脑上,提示缺少一堆 DLL。这个问题在 Qt 开发里几乎是必经之路。Qt 程序的运行依赖大量动态库,发布时必须把这些库全部捞到一起,常说的windeployqt工具就是干这个的。
在命令行下,进入项目构建目录,然后调用 windeployqt 对生成的 exe 做部署,比如:
D:\Qt\5.15.2\msvc2019_64\bin\windeployqt.exe D:\build-hello-desktop_Qt_5_15_2_MSVC2019_64bit-Release\release\hello.exe工具会扫描 exe 的 Qt 依赖,把需要的 DLL、插件、翻译文件、QML 文件等自动拷贝到 exe 所在目录。除 Qt 自身的库之外,如果程序还用到了 OpenSSL、zlib 等第三方库,需要手动拷贝对应的 DLL。发布前最好在另一台虚拟机或干净目录里测试一遍,确保不依赖开发机上的环境变量。
6. 装好之后,我建议你先跑通这几件事
环境装完、坑也排完了,别急着写业务代码。给自己留十几分钟,把下面这几件事验证一遍,后面开发会顺畅很多。
第一件事,新建一个 QWidget Application 工程,拖一个按钮和一个进度条上去,运行一下。这个操作看起来简单,但能同时验证 Qt Widgets 模块、图形渲染、信号槽机制、编译套件是否正常。我曾经遇到过有人安装完 Qt 后,新建工程能编译但不能运行,结果发现是显卡驱动太老导致渲染崩溃,这类问题越早发现越好。
第二件事,试试用 qmake 和 CMake 两种方式构建同一个工程。长期坚持 Qt 开发的话,大概率会遇到一个用 CMake 维护的项目,提前熟悉 CMake 生成器、Kits 配置、构建目录结构,能省不少时间。
第三件事,如果你的业务跟绘图、数据可视化相关,建议立刻把 Qt Charts 模块跑一下,画一条简单的正弦曲线。Qt 的绘图效率问题、坐标映射逻辑、控件嵌入逻辑都在这个小 demo 里能体现出来,也方便你后面深入去研究逻辑坐标系和设备坐标系的区别。很多搞过自定义进度条、绘图控件的人都知道,不提前跑通这个基础环节,后面真正绘图的性能调优会非常费劲。
Qt 的下载与安装,说白了就是一个“版本匹配 + 环境配置”的过程。我在这些环节上踩过的坑,零零总总不下十次。每次重装系统或者换电脑,都会重新面对这些问题,但只要理清楚了版本、编译器、插件这三个核心概念,后续大部分报错都能在五分钟内定位。我个人的习惯是,每装完一次环境,就把装了什么版本、用了哪个编译器、改过哪些环境变量全部记到笔记里,下次遇到“装完过两天没法用了”的情况,翻一下笔记就能快速恢复,不用再从头折腾一遍。