У меня очень странная проблема с QProcess и его странное поведение.
В конце я хочу получить что-то вроде этого (это cmd.exe в Windows 7)
C:\path_to_somewhere>cmd /c "C:\Program Files\path_to_dir\executable"
(cmd для совместимости с показом QProcess)
Итак, чтобы сделать что-то подобное, я создаю это:
QProcess proc;
QString command;
QStringList attributes;
command = "c:\\windows\\system32\\cmd.exe";
QStringList << QString("/c \"C:\\Program Files\\path_to-dir\\executable"");
proc.start(command, attributes);
Что я получаю при выводе ошибки:
Name '\"c:\Program Files\Quantum GIS Wroclaw\bin\gdalwarp.exe\"' is not recognized as
internat or external command, executable or batch file.
(это переведено мной с польского, поэтому на английском может немного отличаться).
Похоже, что символ \ не экранирован в строке, оставляя \" как символы в команде. Что я делаю неправильно?
я пробовал
proces.start(QString)
с тройкой \"\"\" и она тоже не работает. Я полагаю, что решение этой проблемы должно быть настолько простым, что я даже не думаю об этом.