16,554
社区成员
发帖
与我相关
我的任务
分享
void CTabWidget::runIt()
{
qDebug()<<"[CTabWidget::runIt] beg";
QFile file;
// 读取 gcc 位置
file.setFileName("cc.path");
if( ! file.open(QIODevice::ReadOnly | QIODevice::Text) ){
QMessageBox::warning(this,"警告","未找到编译器!\n请到当前目录下 cc.path 文件中正确配置编译器路径!");
return;
}
QTextStream in(&file);
QString gccPath;
in >> gccPath;
file.close();
QString cmd( gccPath + " main.c 2> error.log && a.exe && pause && del main.c a.exe error.log ");
// 将文本保存到文件
file.setFileName("main.c");
if( ! file.open(QIODevice::WriteOnly | QIODevice::Text) ){
qDebug()<<"[CTabWidget::runIt] file open failed";
return ;
}
QTextStream out(&file);
out << this->toCCode();
out.flush();
file.close();
// system("mingw491_32\\bin\\gcc.exe main.c 2> error.log && a.exe && pause && del main.c a.exe error.log " );
system( cmd.toLatin1().data() );
// 读取错误信息
file.setFileName("error.log");
if( file.open( QIODevice::ReadOnly | QIODevice::Text ) && file.size() )
{
QString errorInfo;
QTextStream in(&file);
while( ! in.atEnd() )
{
errorInfo += in.readLine() + "\n";
}
QMessageBox::warning(this, "编译信息", errorInfo);
file.close();
}
qDebug()<<"[CTabWidget::runIt] end";
}