0

私はプロジェクトの QT であり、QT でいくつかの C++ コードをコンパイルして実行したいと考えています。C++ ファイルをコンパイルするために、次のコードを作成しました。しかし、プログラムが正しくコンパイルされたかどうかを確認する方法がわかりません。プログラムがコンパイルされたら、どうすれば端末で実行できますか?

改訂されたコード:

void MainWindow::on_actionComplile_triggered()
{
    QProcess compile;
    compile.setWorkingDirectory("/home");
    compile.setReadChannel(QProcess::StandardOutput);
    compile.setProcessChannelMode(QProcess::MergedChannels);
    QTextStream out(stdout);

    compile.start("gnome-terminal");
    compile.write("ls"); //these lines do not get printed.  

    compile.waitForReadyRead();
    compile.waitForFinished(-1);

    QByteArray msg = compile.readAll();
    out << msg.data() << endl;
}
4

1 に答える 1

0

私は解決策を見つけました:

void MainWindow::on_actionComplile_triggered()
{
    QProcess compile;
    compile.setWorkingDirectory("/home/royal");
    compile.setReadChannel(QProcess::StandardOutput);
    compile.setProcessChannelMode(QProcess::MergedChannels);
    QTextStream out(stdout);

    compile.start("g++",QStringList() << "tes.cpp" << "-o" << "test");
    compile.waitForFinished(-1);

    QByteArray msg = compile.readAllStandardOutput();
    if(msg.isEmpty())
    {
        qDebug() << "Successful";
    }
    else qDebug() << "Failed";
}
于 2013-05-16T04:42:36.300 に答える