Qt QProcess未从命令读取结果

Qt QProcess未从命令读取结果,qt,qprocess,Qt,Qprocess,我正在尝试使用QProcess在Qt中运行一些llvm命令: QProcess* compile = new QProcess(); compile->setWorkingDirectory("/Users/xxx/Documents/"); compile->start("clang-check test.cpp -ast-dump -ast-dump-filter=main --"); // compile->start("clang -Xcl

我正在尝试使用QProcess在Qt中运行一些llvm命令:

    QProcess* compile = new QProcess();
    compile->setWorkingDirectory("/Users/xxx/Documents/");

    compile->start("clang-check test.cpp -ast-dump -ast-dump-filter=main --"); 
//  compile->start("clang -Xclang -ast-dump test.cpp");

    compile->waitForFinished(-1);

    qDebug() << compile->readAll() << endl;
    qDebug() << compile->readAllStandardOutput() << endl;
    qDebug() << compile->readAllStandardError() << endl;
QProcess*compile=new QProcess();
编译->设置工作目录(“/Users/xxx/Documents/”);
编译->启动(“clangcheck test.cpp-ast dump-ast dump filter=main--”);
//编译->启动(“clang-Xclang-ast dump test.cpp”);
编译->等待完成(-1);

qDebug()readAll()我已经遇到了这个问题,请尝试连接
QProcess::readyReadStandardOutput
QProcess::readyReadStandardError
,然后在插槽中处理输出:

connect(&compile, &QProcess::readyReadStandardOutput, this, [this]() {
    qDebug() << "Std output:" << compile->readAllStandardOutput();
});

connect(&compile, &QProcess::readyReadStandardError, this, [this]() {
    qDebug() << "Err output:" << compile->readAllStandardError();
});
connect(&compile,&QProcess::readyReadStandardOutput,this,[this](){

你说的似乎很奇怪,我确实找到了一条出路。