我是一个项目的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;
}
答案 0 :(得分: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";
}