关键在选准配稳:在线安装器需登录后联网安装,路径禁用空格和中文,MSVC/MinGW套件须与Qt版本严格匹配,Kit配置须对齐qmake、编译器、调试器三路径,Linux/UOS还需补xcb插件及rpath。

Qt安装和配置开发环境的关键不在“装得多”,而在“选得准、配得稳”。在线安装器默认勾选的组件常包含大量用不到的模块,反而拖慢安装、占用空间、增加后续Kit配置出错概率;而环境变量、编译器套件、平台插件这三处一旦没对齐,qmake能跑通但运行时闪退、Qt Creator识别不出Qt版本、中文显示乱码这些现象就必然出现。
选对安装方式:在线安装器比离线包更实用,但必须断网+登录
Qt 6.x起已不提供完整离线包,官网只提供小体积在线安装器(约50MB)。它本质是个下载调度器,安装过程实时拉取组件——这意味着网络波动或DNS污染会导致中途卡死、组件缺失。实操建议:
- 安装前先断网,启动安装器后立即登录已注册的Qt账号(未注册需提前在
https://account.qt.io完成,邮箱可填任意有效地址) - 登录成功后再连网,避免安装器反复尝试同步账户状态
- 路径必须避开空格和中文,例如
D:/Qt/6.9.0/msvc2022_64可行,C:/Program Files/Qt或D:/我的Qt必然导致后续qmake找不到moc、uic等工具
编译器套件必须与Qt版本严格匹配
Windows下Qt分MSVC和MinGW两大分支,二者二进制不兼容。常见错误是VS装了MSVC 2022,却选了Qt安装包里的MSVC 2019组件,结果 Qt Creator 的Kit里显示“Debugger not found”或“Compiler not found”。
验证方法很简单:打开VS安装器 → 查看“已安装的工具集” → 记下类似 Microsoft.VisualStudio.Component.VC.Tools.x86.x64 对应的版本号;再打开Qt在线安装器 → 在组件页展开 Qt 6.9.0 → 只勾选与之完全一致的套件,例如:
- VS 2022 → 勾选
MSVC 2022 64-bit - VS 2019 → 勾选
MSVC 2019 64-bit - 若用MinGW,必须额外安装对应版本的MinGW-w64(如Qt选
MinGW 11.2 64-bit,则系统PATH里必须有该版本的g++.exe)
Qt Creator中Kit配置失败的三个硬性条件
即使Qt本体和编译器都装好了,Qt Creator 仍可能报“Invalid Qt version”或“Unable to start debugger”。这不是软件bug,而是三个底层路径没对齐:
-
Qt version必须指向具体版本的qmake.exe,例如D:/Qt/6.9.0/msvc2022_64/bin/qmake.exe,不能只选到msvc2022_64目录 -
Compiler必须与qmake所在Qt版本同源,即MSVC版Qt只能配MSVC编译器,MinGW版Qt只能配MinGW编译器 -
Debugger必须来自同一VS安装目录,例如VS 2022的调试器路径通常是C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/Packages/Debugger,而非系统PATH里随便一个gdb.exe
改完Kit后务必点击“Apply”再点“OK”,否则设置不生效。
Linux/UOS下xcb平台插件缺失导致程序启动即闪退
在UOS或Ubuntu上用官方安装器装完Qt,运行第一个窗口程序时黑屏退出,终端无报错——大概率是缺xcb平台插件。Qt 6默认依赖系统级图形库,但UOS桌面环境(DDE)不自带完整xcb生态。
解决步骤不是重装Qt,而是补系统依赖:
- 执行
ldd ./your_app | grep xcb,若输出含not found,说明链接失败 - 安装核心库:
sudo apt install libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1 libxcb-xrm0 libxcb-cursor0 - 手动指定插件路径(临时):
export QT_QPA_PLATFORM_PLUGIN_PATH=/path/to/Qt/6.9.0/gcc_64/plugins/platforms - 真正稳定的方案是:在
.pro文件里加QMAKE_LFLAGS += -Wl,-rpath,/path/to/Qt/6.9.0/gcc_64/plugins/platforms,让可执行文件自带插件搜索路径
这个环节最容易被忽略的是“插件路径里的 gcc_64 实际对应你安装的编译器名”,UOS上可能是 gcc_64,也可能是 clang_64 或 llvm_64,必须进 Qt/6.9.0/ 目录下真实查看子目录名。


















