Windows下QT 6.3.0与QT 5.12共存:多版本环境配置全攻略

1. 为什么需要QT多版本共存?

很多刚接触QT开发的朋友可能会觉得,装一个新版本不就行了,干嘛要折腾两个版本共存?这事儿我刚开始也这么想,直到被现实狠狠教育了几次。我手头有个维护了快五年的老项目,用的是QT 5.12,里面一堆第三方库和自定义组件,当初都是针对5.12的API和特性写的。去年公司新启动了一个项目,要求用最新的QT 6.3.0,说是要享受C++17支持、更好的模块化这些新特性。这下好了,我总不能为了新项目把老项目的环境给覆盖了吧?编译报错、链接库找不到、运行时崩溃……想想都头大。

其实,QT多版本共存的需求在开发圈里特别常见。你可能正在维护一个基于QT 5的稳定产品,同时又要用QT 6开发新功能;或者你接手的项目来自不同客户,他们指定的QT版本各不相同。在Windows下,如果安装路径和环境变量没弄好,很容易打架,导致qmakecmake或者Qt Creator找不到正确的库,编译出来的东西乱七八糟。我见过最离谱的情况是,一个同事的系统PATH里同时有5.12和6.3的路径,结果命令行编译时用的qmake是5.12的,但链接的库却是6.3的,直接导致运行时内存错误。

所以,今天我就把自己在Windows 10/11系统上,让QT 6.3.0和QT 5.12.12和平共处的完整配置过程分享出来。这套方法我实测过很多遍,也帮团队里好几个新人搭过环境,算是比较稳的方案。核心思路就三点:隔离安装路径、精准控制环境变量、在Qt Creator里清晰管理工具链。只要按步骤来,基本上能避开所有常见的坑。

2. 准备工作与安装路径规划

在动手安装第二个QT版本之前,准备工作做得好,后面能省下一大半麻烦。首先,你得知道自己系统里已经有的QT 6.3.0装在哪了。通常安装器默认会放在C:\Qt下面,比如我的就在C:\Qt\6.3.0。打开这个目录看看,里面应该会有msvc2019_64mingw_64这样的子目录,对应不同的编译套件。

提示:如果你不确定现有QT 6.3.0的安装路径,可以打开Qt Creator,在“工具” -> “选项” -> “Kits” -> “Qt Versions”标签页里查看。那里会列出所有已检测到的QT版本及其qmake.exe的完整路径。

接下来,我们要为QT 5.12选择一个全新的、独立的安装目录。这是避免冲突最关键的一步。绝对不要把它装到C:\Qt\6.3.0里面或者任何已有QT版本的子目录里。我个人的习惯是在D:\Qt(或者另一个空间充裕的盘符)下创建一个清晰的版本目录结构。比如,我打算这样安排:

D:\Qt\
├── 6.3.0\          # 已有的QT 6.3.0 (假设你装在D盘)
│   ├── msvc2019_64\
│   └── ...
└── 5.12.12\        # 即将安装的QT 5.12.12
    ├── msvc2017_64\
    └── ...

如果原来的6.3.0在C盘,那也没关系,只要保证5.12不和它在同一个父目录下混在一起就行。比如C:\Qt\6.3.0D:\Qt\Qt5.12.12就是完全独立的。

然后就是下载安装包。QT 5.12.12是一个长期支持版本,比较稳定。你需要去QT官网的存档页面(比如 download.qt.io/archive/qt/5.12/5.12.12/)找到Windows的安装程序。注意选择和你编译器匹配的版本。如果你的QT 6.3.0用的是MSVC 2019 64位,那么为了减少编译器环境的复杂度,我强烈建议QT 5.12也选择MSVC 2017 64位的版本。虽然名字是2017,但在安装了VS 2019或更高版本的机器上通常都能正常工作。MinGW版本理论上也可以,但如果你之前项目用的都是MSVC,混用编译器可能会引入额外的库依赖问题。

下载下来的文件名大概是 qt-opensource-windows-x86-5.12.12.exe 这样的。运行安装程序,在选择安装组件的页面,务必展开“Qt 5.12.12”树,只勾选你需要的编译套件,比如“MSVC 2017 64-bit”。像“Android”、“Sources”、“Qt Debug Information Files”这些,除非你确定需要,否则可以先不装,能节省不少磁盘空间。最关键的一步是在选择安装路径</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值