已安装依赖仍找不到Qt6QmlTooling CMake文件,Android部署失败
解决Qt6部署Android x86_64时Qt6QmlTooling缺失及CMake命令错误问题
问题核心
部署QML应用到Android x86_64平台时,出现两类关键错误:
- Qt6Qml依赖的Qt6QmlTooling组件找不到,对应CMake目录不存在
- CMake报错未知命令
qt_standard_project_setup
解决方案
1. 修正QT_HOST_PATH参数
你当前的qt-cmake命令中,QT_HOST_PATH设置完全错误:
/opt/qt6/6.9.3/android_x86_64/bin/qt-cmake -DQT_HOST_PATH=/opt/qt6/6.9.3/android_x86_64
交叉编译Android应用时,QT_HOST_PATH必须指向本地桌面平台(如Linux x86_64)的Qt安装路径,而非Android目标平台的Qt目录。正确命令示例:
/opt/qt6/6.9.3/android_x86_64/bin/qt-cmake -DQT_HOST_PATH=/opt/qt6/6.9.3/gcc_64 <你的项目根目录>
(注:gcc_64为Linux桌面平台的Qt默认目录,需根据你的实际安装路径调整)
2. 重新确认Qt6QmlTooling组件安装
- Qt在线安装器:重新运行安装器,选中
Qt 6.9.3下的Android x86_64平台,务必勾选QML、QML Tooling相关组件(包括Qt QML、Qt Quick、Qt Quick Controls系列,部分工具组件可能归类在Developer and Designer Tools分区)。 - Debian软件包:检查是否遗漏相关依赖包,执行以下命令补装:
sudo apt install qt6-qmltooling-plugins qt6-qml-dev qt6-quickcontrols2-dev
3. 解决qt_standard_project_setup未知问题
该命令是Qt 6.5+引入的CMake简化指令,报错的解决方式:
- 确保CMake版本≥3.21(Qt6最低要求),更新CMake:
sudo apt update && sudo apt install cmake
- 若版本达标仍报错,直接替换为传统Qt项目CMake配置:
将CMakeLists.txt中的
qt_standard_project_setup()
替换为:
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Qt6 REQUIRED COMPONENTS Core Qml Quick) qt_add_executable(<你的项目名称> <项目源文件列表>) qt_add_qml_module(<你的项目名称> URI <自定义QML模块名> VERSION 1.0 QML_FILES <项目QML文件列表> )
4. 清理缓存重新构建
执行以下步骤彻底清理旧配置,重新构建:
rm -rf build && mkdir build && cd build # 运行修正后的配置命令 /opt/qt6/6.9.3/android_x86_64/bin/qt-cmake -DQT_HOST_PATH=/opt/qt6/6.9.3/gcc_64 .. cmake --build . --target install
内容的提问来源于stack exchange,提问作者none2
相关产品推荐
相关产品推荐

