[gelöst] Umgebungsvariablen Linux
[gelöst] Umgebungsvariablen Linux
Hi!
Ich weiß nicht genau, ob das ein C++ spezifisches Problem ist, oder aber mit Qt zu tun hat - oder sogar mit Linux selbst oO. Wenn ich mein Programm aus der Linux-Konsole heraus starte, funktionieren die Umgebungsvariablen (z.B. der Pfad der Anwendung). Wird das Programm allerdings beispielsweise aus dem Konqueror heraus gestartet, werden diese Variablen nicht gesetzt..woran liegt das?
Ich weiß nicht genau, ob das ein C++ spezifisches Problem ist, oder aber mit Qt zu tun hat - oder sogar mit Linux selbst oO. Wenn ich mein Programm aus der Linux-Konsole heraus starte, funktionieren die Umgebungsvariablen (z.B. der Pfad der Anwendung). Wird das Programm allerdings beispielsweise aus dem Konqueror heraus gestartet, werden diese Variablen nicht gesetzt..woran liegt das?
Zuletzt geändert von C_R am 28. September 2007 11:01, insgesamt 1-mal geändert.
-
CaptnChaos
- Beiträge: 605
- Registriert: 28. Juni 2007 15:01
- Kontaktdaten:
Welches Problem? In welcher Umgebungsvariablen soll denn der Pfad deiner Anwendung stehen? Du redest jetzt hoffentlich nicht von argv[0]. Unter Windows ist das nämlich verschieden, abhängig von der Art wie ich ein Programm starte, ob mit Doppelklick, per Drag&Drop oder von einem 3. Programm.KernelPanic hat geschrieben:Tja, also bei mir taucht das problem auch auf. Ich fummel mich dann halt mit so Funktionen wie QApplication::applicationDirPath() usw.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
currentPath enthält den aktuellen Pfad, wie der Name schon sagt, und der ist eben variabel. workingDirectory wäre wohl eine bessere Benennung gewesen.
Aber ein Beispiel erkennst Du schon als solches.C_R hat geschrieben:Und von Windows habe ich nichts geschrieben.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Eben nicht. Das eine ist das Verzeichnis in dem die Applikation liegt, braucht man z.B. um seine Übersetzungs- oder Hilfedateien zu finden, das andere ist das Arbeitsverzeichnis, welches ganz woanders liegen kann. Darauf beziehen sich dann relative Pfade aus Config-, HTML-, VRML- oder oder oder Dateien.C_R hat geschrieben:Also im weitesten Sinne QApplication::applicationDirPath()QString QDir::currentPath () [static]
Returns the absolute path of the application's current directory.
Kommt drauf an was ich brauche. applicationDirPath() brauche ich in jedem Programm, eben wegen Übersetzungs- und Hilfedateien. currentPath() wird selten benötigt, je nach dem was die Anwendung machen soll.C_R hat geschrieben:Wie handhabst du das denn? Auch über QApplication?
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.