从Qt Creator 5.4.0运行gcc命令

时间:2015-02-11 12:18:12

标签: 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->toPlainText();
    QProcess::execute("gcc hello.c -o hello");
}

在运行gcc命令之前一切正常。当我点击按钮时出现此错误:

In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status

我的C代码在这里:

#include <stdio.h>

int main () {

  printf("Hello World..");

  return 0;

}

1 个答案:

答案 0 :(得分:0)

您还没有刷新QTextStream缓冲区,因此当您在其上调用gcc时,hello.c为空。使用QTextStream&#39; s flush()来刷新缓冲区,它还在底层设备上调用flush(这里是QFile)。