你是在虚拟机里编译的吧。。。
可执行文件实际上是一串二进制机器码,在虚拟机编译的时候默认用的G++(或者Qt的qmake)是基于x86的,就是这个机器码是给x86的芯片看的,arm看不懂!
举个例子,你用中文(Qt,实际上他用的是C++或者python)写了一篇文章,然后把他翻译成了英文(虚拟机上的G++编译得到的可执行文件),但德国人(arm)看不懂,你需要把他翻译成德语(arm G++交叉编译链),然后再给德国人看。
总结:你需要在虚拟机上下一个arm G++交叉编译链,重新编译后移植到arm上才能运行