交叉编译树莓派4适配Qt6.2时Qt6HostInfo找不到报错如何解决
报错原因
该错误是交叉编译Qt6时,CMake找不到主机端Qt的Qt6HostInfo配置文件,本质是你的configure参数里-qt-host-path填错了路径,这个参数需要指向你本机已安装的主机版Qt6路径,而不是交叉编译的输出路径。
解决步骤
- 修正
-qt-host-path参数取值
你当前-qt-host-path填写的是交叉编译产物的输出路径,不符合参数要求,替换为你本机Qt6.2的安装路径/home/ahmad/Qt5.15.1/6.2.0/gcc_64/即可。 - 调整后的完整configure命令如下:
../qt-everywhere-src-6.2.0/configure -qt-host-path /home/ahmad/Qt5.15.1/6.2.0/gcc_64/ -release -opengl es2 -nomake examples -nomake tests -extprefix /home/ahmad/Documents/projects/avapardaz/raspberry/out/ -prefix /usr/local/qt6 -- -DCMAKE_TOOLCHAIN_FILE=/home/ahmad/Documents/projects/avapardaz/raspberry/toolchain.cmake -DQT_BUILD_TOOLS_WHEN_CROSSCOMPILING=ON
- 异常排查
如果修改参数后仍报错,可按以下顺序排查:
- 确认你本机安装的Qt6版本和你当前编译的源码版本完全一致,版本不匹配会导致组件加载失败
- 清空build目录的所有缓存文件后重新执行configure命令,避免旧配置干扰
- 可以在末尾的CMake参数中手动添加
-DQt6HostInfo_DIR=/home/ahmad/Qt5.15.1/6.2.0/gcc_64/lib/cmake/Qt6HostInfo,强制指定Qt6HostInfo的配置文件路径
内容的提问来源于stack exchange,提问作者Ahmad Mansoori
相关产品推荐
相关产品推荐

