QProcess无法启动:文件名或扩展名太长

时间:2015-07-14 12:07:16

标签: qt qprocess

我有问题,这是我的代码

QProcess *process = new QProcess(this);
process->setEnvironment(QProcess::systemEnvironment());
process->setStandardErrorFile(getAbsolutePath("logs")+"mylog.log",QIODevice::Append);
process->setProgram(program);
process->setArguments(arguments);

//loop is a QEventLoop
loop.connect(process, SIGNAL(finished(int, QProcess::ExitStatus)),
     this, SLOT(finalProcess(int, QProcess::ExitStatus)));

process->start();
qDebug()<<process->program()<<process->arguments();
if(!process->waitForStarted(3600000)) {
    myLog.addMessage(process->program()+" "+process->errorString());
}
loop.exec();
process->close();
delete process;
process = NULL;

这段代码是一个在循环中调用的函数,它只能运行n次(例如我需要做n = 100但代码在n = 17时崩溃),直到输出(process->errorString())

  

QProcess无法启动:文件名或扩展名太长。

然后我改变了其他更短的路径,我看到在崩溃之前n会更高,我做了更多QProcess但不是全部。

我不明白为什么我不能做任何无限的QProcess如果我想要的话,我总是等待我的每个QProcess与我的QEventLoop完成。 任何人都可以有解决方案吗?

非常感谢

0 个答案:

没有答案