Ich möchte eine EXE-Datei ausführen, die von g ++ (oder gcc) aus einem Qt-Programm kompiliert wurde. Ich beziehe mich auf this topic und versuchen, es laufen zu lassen:Wie führe ich eine abgelegte C++ - Programmdatei von einem anderen Qt-Programm aus?
// Setup the working directory
QDir::setCurrent("/home/myproject");
// Start the process (uses new working dir)
bool t= myProc.startDetached("./work");
if (t==false) std::cout<< "Error";
else std::cout <<"OK";
aber das Ergebnis, das ich habe, ist immer „Error“ und es gibt keine Veränderung in meinem Bildschirm selbst wenn das Programm „Arbeit“ ist ein GUI-Programm. Ich habe es im Terminal, aber in QProcess kann ich nicht :(. Was mache ich falsch?
Was ist mit dem Hinzufügen einer '.exe' zu Ihrer ausführbaren Datei? – IAmInPLS
@AlexisP. Ich sehe nicht" .exe "in Beispiel, so dass ich es nicht –
Sie haben invertierte Logik ther e: t ist falsch, wenn ein Fehler vorliegt, nicht wahr. Versuchen Sie mit einem absoluten Pfad anstelle von './Work'. Das aktuelle Verzeichnis sieht fehlerhaft aus, es sollte auch ein absoluter Pfad sein, z. '/ home/youruser'. Beachten Sie auch, dass startDetached eine statische Methode ist und nichts zu 'myProc' macht,' QProcess :: startDetached (...) 'wäre die übliche Syntax (aber auch Ihre sollte funktionieren) –