Я хочу скомпилировать файл С++ из приложения Qt с помощью QProcess. Но это не работает, я не вижу никаких файлов .o или .exe, сгенерированных компилятором.
Вот что я делаю -
QProcess *process = new QProcess(this);
QString program = "g++";
QStringList arguments;
//fileName is fetched from QFileDialog
arguments << fileName << "-o" << QFileInfo(fileName).path() + QFileInfo(fileName).baseName() + ".exe";
errorFilename = QFileInfo(fileName).baseName() + "_error.txt";
process->setStandardOutputFile(errorFilename);
connect(process, SIGNAL(finished(int)), this, SLOT(compiled()));
process->start(program, arguments);
Пожалуйста, скажите мне, что не так с этим кодом. Я работаю на виндовс 7.
errorFile
пуст. Я не вижу никаких ошибок. - person Shubham   schedule 12.02.2014fileName
устанавливаетсяQFileDialog::getOpenFileName()
. - person Shubham   schedule 12.02.2014QProcess
следует заключать в кавычки любые аргументы, содержащие пробелы (qt-project .org/doc/qt-5.0/qtcore/qprocess.html#start). - person Michael Burr   schedule 12.02.2014g++
вPATH
(в среде программы Qt)? Что происходит, когда вы пытаетесь скомпилировать тот же файл с теми же аргументами из командной строки? - person Michael Burr   schedule 12.02.2014PATH
- person Shubham   schedule 12.02.2014