c ++ QT Я не могу прочитать результат QProcess - PullRequest
0 голосов
/ 22 апреля 2020

Я хочу получить результат после выполнения cmake .. по пути, в котором я установил предпочтение.

Я обнаружил, что результат cmake .. очень длинный, поэтому я попытался перезаписать файл. Но ничего не вышло.

bool MainWindow::cakeparse(QString path){
    QStringList env = QProcess::systemEnvironment();
    env << "/mnt/hgfs/sharelinux/kdenlive-master/build"; // Add an environment variable

    QString cm="cmake ..";
    QProcess cache;
    cache.setEnvironment(env);
    cache.start(cm);
    cache.waitForReadyRead();
    QByteArray result = cache.readAllStandardOutput();
    qDebug() << cache.readAllStandardOutput();
    QFile file("/home/dani/Desktop/output.txt");
    file.open(QIODevice::WriteOnly);
    file.write(result);

    qDebug()<<result;
    std::string html = result.toStdString();
    std::regex re("(Could NOT find [\w -_] *(missing:)");
    std::smatch match;
    while(std::regex_search(html,match,re)){
        std::cout << match.str()<<"\n";
        html = match.suffix();
    }

Это мой код, и после получения результата я хочу использовать регулярное выражение для получения желаемого значения. Пожалуйста, помогите мне

Это часть нормального результата.



    -- Could NOT find LibV4L2 (missing: LIBV4L2_INCLUDE_DIR LIBV4L2_LIBRARY) 
-- Qt5 WebKitWidgets not found. You cannot use your Freesound.org credentials, only preview files can be downloaded from the Online Resources Widget
-- Building tests
-- Configuring done
-- Generating done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...