• 3438阅读
  • 3回复

为什么我写入一个批处理文件,在一个方法内就不能执行这个批处理文件 [复制链接]

上一主题 下一主题
离线qhhndaye888
 

只看楼主 倒序阅读 楼主  发表于: 2009-06-13
为什么我写入一个批处理文件,在一个方法内就不能执行这个批处理文件
void MainWindow::on_actionRun_triggered()
{
    QFile data("../complier/c++.bat");
    if (data.open(QFile::ReadWrite))
    {
    QTextStream out(&data);
    out << "@echo off\r\n"
        << "echo Setting up a MinGW only environment...\r\n"
        << "echo -- Adding ..\\complier\\MinGW\\bin to PATH\r\n"
        << "echo -- Adding %SystemRoot%\\System32 to PATH\r\n"
        << "echo -- LIBRARY_PATH set to ..\\complier\\MinGW\\lib\r\n"
        << "echo -- C_INCLUDE_PATH set to ..\\complier\\MinGW\\include\r\n"
        << "echo -- CPLUS_INCLUDE_PATH set to ..\\complier\\MinGW\\include\\c++\\3.4.5;..\\complier\\MinGW\\include\\c++\\3.4.5\\mingw32;..\\complier\\MinGW\\include\\c++\\3.4.5\\backward;..\\complier\\MinGW\\include\r\n"
        << "set PATH=%PATH%;..\\complier\\MinGW\\bin\r\n"
        << "set PATH=%PATH%;%SystemRoot%\\System32\r\n"
        << "set LIBRARY_PATH=..\\complier\\MinGW\\lib\r\n"
        << "set C_INCLUDE_PATH=..\\complier\\MinGW\\include\r\n"
        << "set CPLUS_INCLUDE_PATH=..\\complier\\MinGW\\include\\c++\\3.4.5;..\\complier\\MinGW\\include\\c++\\3.4.5\\mingw32;..\\complier\\MinGW\\include\\c++\\3.4.5\\backward;..\\complier\\MinGW\\include\r\n"
        << "g++ " << curFile
        << "\r\na.exe";
    }
    QProcess process;
    process.startDetached("../complier/c++.bat");
}
离线gvim
只看该作者 1楼 发表于: 2009-06-13
要先完成写文件吧,就是等QFile析构之后。
Qt,Qt! 分享Cute之Qt体验
欢迎访问 http://www.cuteqt.com
欢迎订阅 http://www.cuteqt.com/?feed=rss2

离线qhhndaye888

只看该作者 2楼 发表于: 2009-06-13
恩,我先试试
离线qhhndaye888

只看该作者 3楼 发表于: 2009-06-13
试过了,加上一句话:
data.close();
QProcess process;
process.startDetached("../complier/c++.bat");
关闭输出流,就可以打开文件了
快速回复
限100 字节
 
上一个 下一个