我开发了一个应用程序,它包含一个前端Qt-GUI和一个求解器EXE。由于这两个是独立的模块,我可以通过使用如下的QProcess在Qt-GUI中成功启动EXE:
QProcess *myProcess = new QProcess;
myProcess->start(exeFilePath, args);
其中
exeFilePath = "EXE"
args = "input1 -option1 name1 -option2 name2"
从QProcess的信号中,我可以成功地从输出通道读取并更新Qt-GUI的QGLWidget中的进度。
事情已经发生了变化。 EXE现在是MPI-EXE,一个基于MPI的可执行文件,我需要通过Qt-GUI以实用的方式使用它。
我为MPI-EXE尝试了上述QProcess练习,但有以下变化:
exeFilePath = "mpirun -np 4 MPI-EXE"
执行此操作时,无法启动myProcess,并且在打印错误时,它会产生UnknownError。据我所知,QProcess本身在一个单独的线程中运行,因此我必须启动一个4进程的MPI-EXE,这使得这个问题。
我需要帮助:
对于我的问题,我将非常感谢。 请帮忙。感谢。