Qt6 Android CMake项目无法找到Qt组件“Core”问题求助
一、针对CMake找不到Qt6 Core/Quick组件的解决方案
1. 确认Qt6 Android组件安装完整
大概率是安装Qt6 Android套件时漏选了核心组件。打开Qt MaintenanceTool,找到Qt 6.0.0对应的Android套件(比如armv7),展开后确保Qt Core、Qt Quick这些基础模块都已勾选安装——有时候默认安装会跳过部分组件,导致对应的.cmake配置文件缺失。
2. 手动配置CMake的Qt路径与Android环境
如果Qt Creator的套件配置没自动传递正确路径,你可以在CMakeLists.txt里手动指定Qt6安装路径,同时确保Android NDK/SDK路径配置正确:
# 手动指定Qt6 Android的配置根目录 set(Qt6_DIR "C:/Qt/6.0.0/android_armv7/lib/cmake/Qt6") # 配置Android目标环境(根据项目需求调整版本) set(CMAKE_SYSTEM_NAME Android) set(CMAKE_SYSTEM_VERSION 21) set(CMAKE_ANDROID_ARCH_ABI armeabi-v7a) set(CMAKE_ANDROID_NDK "你的NDK安装路径,比如C:/Android/ndk/21.4.7075529") set(CMAKE_ANDROID_SDK "你的SDK安装路径,比如C:/Android/Sdk") # 执行组件查找 find_package(Qt6 REQUIRED COMPONENTS Core Quick)
另外,在Qt Creator的工具 > 选项 > 设备 > Android里,确保NDK、SDK路径已正确设置,且对应Qt6 Android套件已关联这些环境。
3. 检查CMake版本是否达标
Qt 6.0.0对CMake版本有硬性要求,必须是3.16.0及以上。打开终端输入cmake --version查看版本,如果低于要求,直接升级到3.18+的稳定版——旧版本CMake的组件查找逻辑和Qt6不兼容,极易出现找不到组件的问题。
4. 清除CMake缓存重新配置
缓存的旧配置经常会干扰新的组件查找,删掉项目根目录下的CMakeCache.txt和CMakeFiles文件夹,然后重新运行CMake配置即可。
二、解决MaintenanceTool安装Qt5 Android套件删除Qt6 Android套件的问题
这是Qt MaintenanceTool的已知bug,目前可以用以下临时方案:
1. 分开安装Qt5和Qt6 Android套件
不要在同一个MaintenanceTool会话里同时操作Qt5和Qt6的Android套件。先完成所有Qt6 Android套件的安装,关闭MaintenanceTool后再重新打开安装Qt5的Android套件——分开操作可以避开它的冲突检测逻辑,防止误删。
2. 手动备份Qt6 Android目录
在安装Qt5之前,先把C:/Qt/6.0.0/android_armv7(以及其他Qt6 Android套件目录)复制到其他位置备份,等Qt5安装完成后,再把备份的目录复制回去,这样即使被删也能快速恢复。
3. 使用离线安装包
如果在线安装一直出问题,直接下载Qt6 Android的离线安装包,手动安装到你的Qt目录里——离线安装不会触发MaintenanceTool的在线冲突检测,能避免套件被误删。
内容的提问来源于stack exchange,提问作者user123445151156




