Qt报错:error: Project ERROR: Unknown module(s) in QT: core5compat
问题描述
今天在github上下载了一些项目源码进行学习,但是当我用自己的QT Creator进行构建编译时,出现了报错:
问题分析
根据报错信息,显示不知道的模块:core5compat,应该是自己的QT中缺少了环境名为:core5compat的模块。
经过查询后得知,自己的Qt版本是Qt 6,是Qt框架的最新主要版本,相比于Qt 5,它提供了许多改进和新特性,但也移除了一些旧特性和类。core5compat 模块:为了帮助开发者从Qt 5迁移到Qt 6,Qt 6提供了一个名为 core5compat 的兼容性模块。这个模块包含了一些在Qt 6中被弃用但在Qt 5中常用的类和方法。错误消息 “Unknown module(s) in QT: core5compat” 指的是在尝试编译或运行一个使用Qt框架的项目时,Qt环境中缺少名为 core5compat 的模块。这通常出现在尝试将基于Qt 5的代码迁移到Qt 6时,因为Qt 6中移除或更改了一些在Qt 5中存在的功能。
解决方案
- 首先检查自己项目构建时用的QT版本,一般在打开.pro文件时即可选择,如下图,我这里是用的Qt6.2.4,项目版本得看这个,不要看help中的about,那个不一定是本项目所用的
- 接着打开并运行Qt Maintenance Tool。通常可以在安装Qt的文件夹中找到它,在Qt Maintenance Tool中,执行以下操作:
- 选择“添加或删除组件”(Add or Remove Components)。
- 展开已安装的Qt版本,例如我这的 Qt 6.2.4。
- 寻找名为“Qt 5 Compatibility Module”或类似名称的组件,它就是 core5compat 模块。
- 选中该组件,然后点击“下一步”(Next)来开始安装。
- 等待安装完成后,关闭Qt Maintenance Tool。
-
然后更新项目文件,打开项目文件(通常是一个以 .pro 结尾的文件),并确保包含了core5compat模块。如果文件中没有“QT += core5compat”这行代码的话,还需要在.pro文件中添加:
QT += core5compat,这会告诉Qt构建系统您的项目依赖于core5compat模块。 -
最后重新打开并编译项目,可以clean然后rebuild,即可正常运行