从Qt Creator 5.4.0运行gcc命令

从Qt Creator 5.4.0运行gcc命令,qt,gcc,ide,Qt,Gcc,Ide,我正在尝试制作一个小IDE来编译c文件。我在Ubuntu 14.04和QtCreator 5.4.0下运行。我写了这段代码 void MainWindow::on_pushButton_clicked() { QFile file("hello.c"); file.open(QIODevice::WriteOnly); QTextStream out(&file); out << ui->plainTextEdit->toPlai

我正在尝试制作一个小IDE来编译c文件。我在Ubuntu 14.04和QtCreator 5.4.0下运行。我写了这段代码

void MainWindow::on_pushButton_clicked()
{

    QFile file("hello.c");
    file.open(QIODevice::WriteOnly);
    QTextStream out(&file);
    out << ui->plainTextEdit->toPlainText();
    QProcess::execute("gcc hello.c -o hello");
}
我的C代码在这里:

#include <stdio.h>

int main () {

  printf("Hello World..");

  return 0;

}
#包括
int main(){
printf(“你好,世界……”);
返回0;
}

您尚未刷新QTextStream缓冲区,因此当您调用gcc时,hello.c是空的。使用QTextStream刷新缓冲区,它还调用底层设备(此处的QFile)上的flush。

当您直接调用命令行时,它是否编译?另外,粘贴示例代码是否有被注释掉的原因?是否尝试取消对代码的注释?否示例代码没有任何原因。当我在终端上运行相同的gcc命令时,它会编译。然而,当我从Qt程序运行gcc命令时,它给出了那个错误。另外,当我直接调用命令行时,它再次给出相同的错误。很抱歉误解。我对示例代码进行了注释,以便更好地查看此站点。原始文件中没有注释。您能否发布
ui->plaintextededit->toPlainText()
的确切输出?
#include <stdio.h>

int main () {

  printf("Hello World..");

  return 0;

}