You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为Android构建Qt应用时出现文件移动失败问题

解决Qt Android构建时move命令执行失败的问题

我之前在Windows上搞Qt Android交叉编译时也踩过这个一模一样的坑!你的问题根源其实很简单:你用的NDK自带的make工具是mingw风格的,它不认Windows cmd里的内置move命令——虽然你手动在控制台里能跑成功,但make是用POSIX风格的shell环境来执行命令的,它找不到move这个“可执行文件”(毕竟move是cmd的内置命令,不是单独的.exe程序)。

给你几个靠谱的解决办法:

办法1:让make通过cmd来执行move命令

直接修改Makefile里的MOVE变量,让它调用cmd来执行move:

MOVE = cmd /c move

如果不想手动改Makefile,更方便的是在你的.pro文件里加上这一行,Qt生成Makefile时会自动替换:

QMAKE_MOVE = cmd /c move

这样make执行的时候就会启动Windows的cmd来处理move命令,自然就能识别了。

办法2:用NDK自带的POSIX风格mv命令

NDK的预编译工具链里其实自带了POSIX风格的mv命令(对应Windows的move),你可以找到它的路径,比如你的NDK路径下的C:\Users...\AppData\Local\Android\android-ndk-r17\prebuilt\windows-x86_64\bin\mv.exe,然后把MOVE变量指向它:

MOVE = C:/Users/你的用户名/AppData/Local/Android/android-ndk-r17/prebuilt/windows-x86_64/bin/mv.exe

注意路径要用正斜杠或者双反斜杠,避免转义出错。

辅助检查:确认DESTDIR路径格式

虽然你手动执行成功,但可以顺便检查下.pro里的DESTDIR路径格式,尽量用正斜杠:

DESTDIR = $$PWD/../lib

避免因为路径分隔符的问题导致识别异常。

修改完之后,记得先重新执行qmake生成新的Makefile,再跑make all,应该就能顺利把库文件移动到目标目录了。

内容的提问来源于stack exchange,提问作者folibis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:22:10