如何执行从另一个Qt程序分离的C++可执行文件

How to execute a detached C++ executable file from another Qt program?

本文关键字:程序 Qt 分离 可执行文件 C++ 另一个 何执行 执行      更新时间:2023-10-16

我想执行一个.exe文件,该文件是由g++(或gcc)从Qt程序编译的。我参考了这个主题,并试图让它运行:

// 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";

但我得到的结果总是"错误",即使程序"工作"是GUI程序,我的屏幕也没有变化。我在终端中做了这件事,但在QProcess中我不能:(.我做错了什么?

这可能是一个拼写错误问题。确保QDir::setCurrent("home/")确实返回true;否则,目录更改失败,并且您不在所需的目录中

尝试先启动附加的executebale(使用myProc.execute()而不是myProc.startDetached(),并检查发生了什么。这可能会显示一些在启动分离时看不到的错误。确保程序"work"没有执行来自stdin的任何输入。