Qt QProcess setWorkingDirectory

Gast #6020579
Lesenswert?

Hallo, ich hätte eine Frage zu QProcess und setWorkingDirectory um meine 
Interpretation der Dokumentation zu bestätigen.

Die Qt Beschreibung sagt

"Sets the working directory to dir. QProcess will start the process in 
this directory. The default behavior is to start the process in the 
working directory of the calling process."

1. Wenn ich in meinem Hauptprogramm einige Prozesse mit QProcess starte, 
dann nehmen die Kinderprogramme die DLL's vom Hauptprogramm, weil die im 
Verzeichnis des Hauptprograms liegen und ich kein Arbeitsverzeichnis 
gesetzt hab, richtig?
Gast #6020721
Lesenswert?

Thorben schrieb:
> 1. Wenn ich in meinem Hauptprogramm einige Prozesse mit QProcess starte,
> dann nehmen die Kinderprogramme die DLL's vom Hauptprogramm, weil die im
> Verzeichnis des Hauptprograms liegen und ich kein Arbeitsverzeichnis
> gesetzt hab, richtig?
Hängt vom Suchpfad des Loaders ab.

Unter Linux wird normalerweise überhaupt nicht im Arbeitsverzeichnis 
gesucht.
Unter Windows gibts stattdessen eine DLL-Hölle, da könnte das durchaus 
so sein.
#6020845
Lesenswert?

Das Working Directory ist nicht das Verzeichnis, in dem das Executable 
liegt. Auch nicht beim Parent-Prozess. Üblicherweise findet man 
DLLs/Plugins eher, indem man den Pfad des Executables nimmt und dessen 
Verzeichnis durchsucht, anstatt auf das Working Directory zu schauen.

2. verstehe ich nicht. Was für Abhängigkeiten?
Gast #6021216
Lesenswert?

Hallo, danke für eine Information, dann hab die Erklärung von 
WorkingDirectory missverstanden.

1. Die Executable sucht immer im gleichen Verzeichnis nach Ihren 
Abhängigkeiten (*.DLL's) zuerst und danach im System32 (Windows 10 64Bit 
Ordner)?

>2. verstehe ich nicht. Was für Abhängigkeiten?

Die Abhängigkeiten sind DLL's z.B. QtCore oder 3rd Party DLL's

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren