【发布时间】:2013-05-15 06:21:17
【问题描述】:
我是一个项目的 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;
}
【问题讨论】:
-
QT != Qt。为什么您没有按照
QProcess文档中的说明阅读输出? qt-project.org/doc/qt-4.8/… -
抱歉我犯的错误。我已经通过它们,我可以编译程序;我需要帮助写信给终端。当我尝试 write("g++");它不会在终端上显示命令
-
我已经修改了相同的代码。抱歉,我不知道如何在新线程中上传它,因为我是新来的。如果您能帮我解决这个问题,那将是很大的帮助。