十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Qt下载与安装避坑指南:版本选择、国内镜像与报错排查

Qt下载与安装避坑指南:版本选择、国内镜像与报错排查 提到Qt下载很多人的第一反应都是“官网点一下装个在线安装器然后一路Next”。真这么简单网上就不会有那么多“unknown module in qt: serialport”和“cannot mix incompatible qt library”的报错帖了。我见过不少同事、群友项目写到一半被这类问题卡了一整天最后发现根源全是下载安装阶段埋下的雷版本选得不对、组件没勾全、编译器套件和Qt库对不上。这篇文章就从Qt下载这个源头讲起把版本选择、官方下载渠道、国内镜像源、安装配置流程以及常见报错的排查方法全都理一遍适合刚学Qt的入门用户也适合需要在Windows、Linux上快速搭建Qt环境的朋友。1. 下载之前先把这三件事想清楚1.1 Qt 版本怎么选5.15.2、5.14.2 还是 Qt 6很多新手拿到Qt第一反应是“下最新的总没错”结果打开官网发现版本列表一长串最新的是Qt 6.x系列下面又挂着5.15、5.14等老版本当场就懵了。这里我直接说结论新项目、没有历史包袱、想长期维护的选Qt 6.2以上的LTS版本现有项目依赖QCustomPlot、串口模块、特定第三方库或者你对Q5系列API比较熟选Qt 5.15.2如果是做嵌入式交叉编译、板卡厂商SDK只适配老工具链那5.14.2甚至5.12.x反而比新版更稳妥。为什么5.15.2这么热门它是Qt 5系列的最后一个LTS版本2020年12月发布修复了大量Bug稳定性和生态兼容性经过多年验证。很多工业软件、仪器上位机、教学资源都以它为基础你现在搜“qt离线安装包下载5.14”“qt 5.15.2下载安装”还能搜出一堆教程就是因为存量项目太庞大了。Qt 6系列虽然性能更强、架构更现代但API变化很大很多老代码迁移要改不少地方对初学者来说学习资料也不如Q5丰富。所以我的建议很实在如果你只是自学入门选5.15.2如果你跟课、跟项目那就跟项目使用的版本走不要自作主张升级。1.2 安装包形态在线安装器、离线安装包还是源码编译Qt的获取方式基本分三种。第一种是官方在线安装器Qt Online Installer一个小型exe启动后从服务器拉取组件优点是组件可选、模块组合灵活缺点是整个过程依赖网络组件下载到一半断了网重来一次的滋味谁试谁知道。第二种是离线安装包官方把常用组件打包成一个体积较大的exe或run文件下载完后离线也能安装适合网络不给力、多台机器部署、或者想把安装包留档的用户。第三种是源码编译一般只有你打算自己裁剪Qt库、做跨平台定制、或者目标平台不在官方预编译包覆盖范围内时才需要普通用户没必要碰。我个人的倾向很明确优先找离线安装包。Qt安装完动辄几个GB在线安装器在主机房都经常跑得很慢一旦某个组件拉取超时整个安装进度就可能卡住换成离线包一次下载搞定安装时不用跟服务器折腾。尤其在国内环境直接从官方服务器拉大文件经常让人等到怀疑人生而离线包可以配合后面要讲的镜像源来下载速度会有明显改善。记住这个思路后面很多坑都能避掉。1.3 Qt Creator、Qt 版本和编译套件三者的对应关系“qtcreator对应qt版本”是个特别常见的困惑点。很多人以为Qt Creator和Qt库是必须绑定的实际上Qt Creator只是一个IDE外壳它要能编译运行项目得靠“匹配好的一套组合”Qt库版本 编译套件Kit。以Windows为例Kit里要指定编译器MinGW或MSVC、调试器、qmake路径等。如果Qt库是5.15.2编译器用的却是MinGW 7.3.0加上Qt 5.14的qmake那构建出来的二进制就可能出现“版本混用”的情况运行时报出类似“cannot mix incompatible qt library”的错误。常见组合大概是这样的。场景Qt版本编译器Qt Creator版本参考入门学习/常规桌面应用Qt 5.15.2MinGW 8.1.0 64-bit4.14及以上Windows下用Visual Studio工作流Qt 5.15.2MSVC 2019 64-bit4.14及以上新项目/新特性Qt 6.5.x LTSMinGW 11.2 / MSVC 201910.0及以上老版本项目/嵌入式Qt 5.14.2MinGW 7.3.04.12左右看到规律没有编译器版本不是越高越好而是要看Qt官方为这个版本提供了哪些工具链。安装Qt时勾选了对应编译器Qt Creator里才会出现能用的Kit。所以下载之前先确认你想用MinGW还是MSVC再对照着勾组件后面就省事很多。2. 官方渠道到底怎么下2.1 走官网在线安装器实际上要注册账号如果你决定先用在线安装器路径很简单打开Qt官网下载页找到“Qt Online Installer for Windows/macOS/Linux”把对应平台的小体积安装包下载下来。这里要注意在线安装器从2019年开始就要求你注册一个Qt账号免费账号就能安装开源版但流程里会多几步邮箱验证、同意开源协议的操作很多新手卡在登录这步半天过不去。下载完运行在线安装器界面会让你登录或注册账号。登录后进入组件选择页面这里才是重点。在线安装器的组件列表非常长默认勾选的项目也不一定是你需要的你需要在“Qt”节点下展开对应版本比如Qt 5.15.2再勾选你要的模块和编译套件。整个过程真正的下载量取决于你勾了多少东西其实比离线包还“重”因为它是按需实时拉取的。如果网络环境一般建议不要把所有模块都勾上先勾核心模块够用就行以后缺什么再用MaintenanceTool补。2.2 离线安装包的正确找法离线安装包最权威的来源是Qt官方的归档目录。路径结构一般是官方站点根目录下archive/qt/版本号/对应小版本号/例如要下载Qt 5.15.2的Windows安装包就找到archive/qt/5.15/5.15.2目录里面能看到qt-opensource-windows-x86-5.15.2.exe这样的文件。Linux对应的是.run文件macOS是.dmg。这个目录是全版本归档从Qt 2一直到Qt 6全都有越老的版本越难找但路径规律一模一样。下载离线包的时候我强烈建议看一眼旁边的哈希文件。Qt归档目录里每个安装包旁边通常有对应的md5或sha1、sha256文件下载完用工具算一下哈希值能快速确认文件是否完整。很多人在安装过程中提示安装包损坏或解压失败折腾半天才发现是下载时文件不完整冲突网络中断了。另外离线包体积通常都不小快要下载完成时千万被掐断网络否则重新下载的成本实在太大。2.3 国内镜像源下载一条更顺的路访问官方服务器下载大文件是一个很常见的痛点很多用户都会优先选择国内镜像源。清华、中科大、南大等高校维护的软件镜像站也提供Qt的完整归档目录路径结构和官方保持高度一致。就拿清华镜像来说访问其镜像站点的/qt/目录下面同样是archive、online_installers这些子目录。下载Qt 5.15.2的Windows离线包把官方链接里的download.qt.io换成镜像站对应域名即可。例如在命令行里用下载工具拉文件大概是这样wget https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.15/5.15.2/qt-opensource-windows-x86-5.15.2.exe使用镜像源下载的好处不只是速度更快还在于它的目录结构足够透明什么时候都能随时访问不用担心官方页面层层跳转还要登录的问题。当前热词里“qt国内镜像”被频繁搜索说明大家下载Qt时最大的诉求就一个字快。镜像站就是解决这个诉求最直接、最合规的办法。用镜像站时也有两点小经验第一尽量选离自己地理位置近、口碑稳定的镜像站同时下载多个大文件时不要把所有任务都压在同一个镜像上第二镜像站一般会定时同步官方目录更新可能滞后几天老版本离线包通常没问题最新版本如果不在可以过半天再刷新看看。3. Qt 5.15.2 安装全流程实录3.1 准备工作与组件选择这里我以Windows平台、离线安装包安装Qt 5.15.2为例把完整流程走一遍。先从镜像站或官方归档目录下好qt-opensource-windows-x86-5.15.2.exe双击运行。安装界面习惯性会让你选择安装路径我的建议是装到一个非中文路径下比如D:\Qt尽量避免默认的C盘系统盘也别用带中文或空格的目录后面编译有些工具链会因为这些奇怪路径出问题。安装流程中组件选择是重头戏。展开“Qt 5.15.2”节点能看到许多子组件。对于大多数桌面应用开发勾选以下几类就够了Qt 5.15.2下的MinGW 8.1.0 64-bit如果你打算用MinGW编译器、MSVC 2019 64-bit如果你用Visual Studio编译如果用到串口开发记得在Qt 5.15.2节点里找到Serial Port模块并勾上如果后期要画图表还需要Qt Charts。接着回到“Tools”节点把配套的MinGW工具链勾上比如MinGW 8.1.0。这里很多人会漏掉Tools节点里的编译器导致装完Qt后发现Qt Creator里没有可用的Kit所以务必看清楚。最后点击安装等待进度条跑完。离线包的好处在这里体现得很明显所有组件都在本机安装包内部整个过程不依赖网络装起来的成功率非常高。安装完成后开始菜单里会出现Qt 5.15.2MinGW 8.1.0 64-bit和Qt Creator等快捷方式。3.2 MSVC 与 MinGW 应该怎么选组件勾选时遇到的第一个选择题就是MSVC还是MinGW。这两个不能随便乱选因为它们决定了你后面用哪套编译环境。MinGW是Windows平台上的一套GCC工具链特点是独立、不需要安装庞大的Visual StudioQt安装器里自带MinGW编译器对初学者特别友好这也是大多数教程默认采用的方式。MSVC是微软的编译环境编译出来的程序性能和微软生态兼容性更好但你需要先安装对应版本的Visual Studio Build Tools或完整版VS并且Qt Creator里的Kit需要手动指向VS的编译器。我的实战建议是如果是自学、做课程设计、公司内部工具优先选MinGW省去VS安装的一套麻烦Qt自带编译器开箱即用。如果你的项目最终要跟Windows系统API深度集成、要用MSVC编译的第三方库或者团队里其他人都在用VS那就走MSVC路线。还有一点要注意MinGW和MSVC编译出来的静态库、动态库不能混用你项目里用MinGW编译链就不要去链接MSVC编译出来的lib否则各种链接错误能把你折磨疯。3.3 安装完成后的环境验证装完不代表万事大吉一定要花三分钟验证环境能不能编译。打开Qt Creator选择“文件→新建项目→Application→Qt Widgets Application”项目名称随意路径保持英文。点击下一步在“Kit Selection”这一步能看到你安装时勾选的那些编译器套件。假如你勾了MinGW 8.1.0 64-bit这里就选择这个Kit再点击完成。创建完项目后直接CtrlR编译运行Qt Creator会自动先调用qmake生成Makefile再用MinGW的g编译。如果一切顺利屏幕会弹出一个空白的Widgets窗口这说明你的Qt环境已经通了。此时再检查一下在左侧项目模式里确认构建目录里生成了exe文件也可以在“工具→选项→Kits”里查看当前Kit的qmake路径和编译器路径是否指向了你安装的Qt 5.15.2目录。这样验证完基本就能确保后续开发过程不会出现环境层面的幺蛾子。4. Qt 下载安装中的高频问题与排查实录4.1 报错 unknown module in qt: serialport 的修复“:-1: error: unknown module(s) in qt: serialport”这个报错根本上是组件缺失导致的。它出现的原因是你项目的.pro文件里写了QT serialport但你的Qt安装里没有Serial Port模块或者模块路径没被qmake识别。很多人在下载Qt时压根没勾Serial Port跑到工程项目里才炸出这个报错。排查思路分两步。第一步打开Qt安装目录找到对应版本的子目录例如D:\Qt\5.15.2\mingw81_64然后进入mkspecs/modules目录看看里面有没有qt_lib_serialport.pri这个文件。如果没有说明安装时没装该模块。第二步运行Qt安装目录下的MaintenanceTool.exe登录账号后选择“添加或移除组件”在Qt 5.15.2节点下找到“Qt Serial Port”并勾选应用更改把它补装上。补装完成后重新打开Qt Creator清理项目然后重新qmake问题基本就能解决。这里尤其要注意MaintenanceTool更新的是当前已安装的Kit目录你选MinGW还是MSVC都要确保对应目录里的mkspecs/modules下有模块文件。4.2 cannot mix incompatible qt library 与多版本共存这个错误“cannot mix incompatible qt library (5.15.3) with this library (5.15.2)”很典型常见于电脑上同时装了多个Qt版本或者程序运行时加载到了不同版本的Qt DLL。比如用Qt 5.15.2构建出的exe部署时却把Qt 5.15.3的DLL放到了exe同级目录或者系统PATH里一个路径指向5.15.3qmake生成的运行环境又指向5.15.2运行时两个版本的库混在一起应用就直接崩了。解决思路是彻底梳理版本路径。第一确定项目中每个工程用的Kit是哪个Qt版本在Qt Creator里看“项目→Build→Build Environment”里的PATH确保运行目录排在最前面。第二部署exe时用windeployqt工具在你Qt安装目录下例如D:\Qt\5.15.2\mingw81_64\bin\windeployqt.exe让它自动拷贝匹配版本的DLL千万别手动从别的目录复制Qt库。第三如果你真的有多版本共存需求建议把不同版本装在完全不同路径下并在Qt Creator里给每个Kit起个清楚名字比如“Qt5152_mingw81”、“Qt614_msvc”不要默认名字混用。4.3 下载中断、安装崩溃与卸载残留在线安装器最让人头大的问题就是下载到一半卡死。遇到这种情况不要反复从零开始先取消任务把已下载的缓存清理干净再重试还有更稳的办法就是放弃在线安装器直接改用离线安装包。离线包本身经过哈希校验除非网络中途断掉否则安装过程远比在线安装器流畅。如果是离线包安装过程中崩溃优先怀疑安装包损坏重新下一次这次下完记得先验证哈希值。再一个高频场景是慢装到一半想卸载重装。Qt的卸载同样走MaintenanceTool选择“移除所有组件”然后在系统磁盘里手动清理安装目录残留。很多新手的误区是直接删文件夹结果开始菜单快捷方式、环境变量、缓存文件全都没清以后再安装新版本就可能跟旧版本残留冲突。如果你之前安装过Qt建议把安装目录整个删干净再检查一下用户目录下是否有Qt相关的config缓存这样重装才够干净。4.4 新手操作速查表为了把这篇下载教程浓缩成可以直接参考的东西我把关键流程整理成一个速查表遇到问题随时看一眼。操作事项推荐渠道/工具特别注意选版本Qt 5.15.2或6.5 LTS老项目跟着项目走自学优先5.15.2找离线包国内镜像站归档目录路径结构同官方下载后核对哈希在线安装器官网在线安装器需要注册Qt账号网络要求高组件勾选安装器组件页别漏Tools节点编译器和Serial Port模块验证环境Qt Creator新建Widget项目Build成功并弹出窗口即通过补装模块MaintenanceTool组件缺失、报unknown module时用它打包部署windeployqt别手动混拷不同版本的Qt DLL这个表是我平时给团队成员整理环境时的经验浓缩每个点背后都对应着真实踩过的坑。尤其“补装模块”和“打包部署”这两行遇到的人最多关键时候能省下大把排错时间。最后再补充一点我自己的习惯我会在每个机器上保留一份Qt离线安装包的备份不管是5.14.2还是5.15.2装完顺手把安装包扔进一个专门放开发工具的移动硬盘里。这样同事机器需要搭环境或者自己重装系统之后不用再从网上找资源、重新下载直接拿备份装就行。安装路径统一用英文组件尽量一次勾全Kit命名带版本号这些看似不起眼的习惯真正到了项目出问题需要排查环境的时候能让你少走很多弯路。Qt下载本身不难难的是把版本、组件、工具链之间的关系理顺理顺之后Qt开发的第一步就算真正迈出去了。
返回列表