首页| 论坛| 消息

标题:qt应用在win10运行(通过ethernet与Linux外设直连)时scp出错
作者:mrfrankj
日期:2019-10-15 17:47
内容:

急寻QT大牛帮助:
本人正开发一个Qt应用,对Linux外设进行修改IP地址,获取外设版本信息(需用scp)等功能实现,该Qt应用在Linux PC运行时,与外设交互没有任何问题,但是,跑在Win10上时,有时scp功能不行,相机端的文件拷贝失败,Win10的OpenSSH Client/Server都已安装.

在此急寻大牛指点,或合作等.
谢谢!


#1 [mrfrankj 10-15 17:55]
补充:该问题不是必现,另外,在出现该问题的PC上已验证过,此时手动使用scp功能正常.
#2 [stlcours 10-15 18:04]
qt还能运行在相机端?
另外,你好歹贴点代码,让大家帮你找错呀。光凭想象太难了。
#3 回 stlcours 的帖子 [mrfrankj 10-16 08:54]
stlcours:qt还能运行在相机端?
另外,你好歹贴点代码,让大家帮你找错呀。光凭想象太难了。 (2019-10-15 18:04) 
可能我没描述清楚,Qt是跑在Ubuntu16 或 Win10上面,而相机端是Ubuntu os,PC端和相机端之间涉及文件拷贝(scp),当PC端是Win10时,有时拷贝失败.
至于代码,主要使用QProcess运行linux命令:
"scp -v -o StrictHostKeyChecking=no root@%s:/usr/local/edge_version ."
#4 回 mrfrankj 的帖子 [mrfrankj 10-16 09:28]
mrfrankj:可能我没描述清楚,Qt是跑在Ubuntu16 或 Win10上面,而相机端是Ubuntu os,PC端和相机端之间涉及文件拷贝(scp),当PC端是Win10时,有时拷贝失败.
至于代码,主要使用QProcess运行linux命令:
"scp -v -o StrictHostKeyChecking=no root@%s:/usr/local/edge_version ." .. (2019-10-16 08:54) 
char strCmd[128];
memset(strCmd,0,128);
sprintf(strCmd, "scp -v -o StrictHostKeyChecking=no root@%s:/usr/local/edge_version .", "10.0.0.2");
ps5 = new QProcess(this);
connect(ps5,SIGNAL(finished(int,QProcess::ExitStatus)),this,SLOT(slot_read_FW_done()));
ps5->start(QString::fromStdString(strCmd));
#5 [uidab 10-16 11:11]
看看QProcess的输出,包括错误等所有,看看。

回复 发表
主题 版块