首先明确一下,这里的部署失败与网络连接、ssh/scp/sftp等无关。
一般出现在删除了远端上的可执行文件,而本地程序未做明显改动时远程部署执行的时候。
Qt应用程序输出中的提示信息如下:
究其原因,是因为程序编译结果未改变,Qt部署时自动跳过了上传文件的步骤,认为不必进行部署,看程序的编译输出所提示
的信息就知道了:
而导致这一看问题的根源,在于Qt构建和运行-运行设置-部署时默认使用了增量部署,将该默认选项去掉即可:
另外,为确保上传的是最新编译的程序,可添加自定义的远程命令将远端的可执行文件删除,比如:
rm -f 可执行文件路径+文件名
注意删除操作必须在上传操作之前。
测试了一下,基本上完美解决。