我想执行一个.exe文件,它是由Qt程序中的g ++(或gcc)编译的。我引用this topic并尝试让它运行:
// Setup the working directory
QDir::setCurrent("/home/myproject");
// Start the process (uses new working dir)
bool t= myProc.startDetached("./work");
if (t==false) std::cout<< "Error";
else std::cout <<"OK";
但我的结果总是“错误”,即使程序“work”是一个GUI程序,我的屏幕也没有变化。我在终端做过,但在QProcess我不能:(。我做错了什么?
答案 0 :(得分:1)
这可能是一个错字问题。确保QDir::setCurrent("home/")
确实返回true;如果没有,目录更改失败,您不在您期望的目录中。
首先尝试启动您的executbale(使用myProc.execute()
代替myProc.startDetached()
,然后检查会发生什么。这可能会发现一些在启动分离时无法看到的错误。请确保您的程序能够正常运行&#39 ;不执行stdin的任何输入。