Seite 1 von 1
[gelöst] Umgebungsvariablen Linux
Verfasst: 27. September 2007 13:54
von C_R
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?
Verfasst: 27. September 2007 14:03
von macman
Die Umgebungen sind halt verschieden. Worum geht es denn genau?
Verfasst: 27. September 2007 14:59
von CaptnChaos
@macman: Wie war das mac? Wenn man keine Ahnung hat, einfach mal...
Tja, also bei mir taucht das problem auch auf. Ich fummel mich dann halt mit so Funktionen wie QApplication::applicationDirPath() usw.
Ich glaube das Problem ist aber KDE spezifisch und wird vllt ab KDE4 beseitigt.
Verfasst: 27. September 2007 15:45
von C_R
Also genau geht es darum, dass mein Programm eben relative Pfade verwendet (Dateien werden geladen etc..) und diese können dann eben nicht geladen werden. Aber gut, wenn das ein allgemeines Problem der KDE ist, seis drum. Ist ohnehin ein Expertentool..
Verfasst: 27. September 2007 15:50
von macman
KernelPanic hat geschrieben:Tja, also bei mir taucht das problem auch auf. Ich fummel mich dann halt mit so Funktionen wie QApplication::applicationDirPath() usw.
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.
Verfasst: 27. September 2007 16:02
von C_R
nein ich rede von
QDir::currentPath() zum Beispiel. Und von Windows habe ich nichts geschrieben.
Verfasst: 27. September 2007 16:22
von macman
currentPath enthält den aktuellen Pfad, wie der Name schon sagt, und der ist eben variabel. workingDirectory wäre wohl eine bessere Benennung gewesen.
C_R hat geschrieben:Und von Windows habe ich nichts geschrieben.
Aber ein Beispiel erkennst Du schon als solches.
Verfasst: 27. September 2007 16:25
von C_R
Dann ist aber die Qt-Doku nicht eindeutig?
QString QDir::currentPath () [static]
Returns the absolute path of the application's current directory.
Also im weitesten Sinne QApplication::applicationDirPath() .. wie gesagt, komisch eben

Wie handhabst du das denn? Auch über QApplication?
Verfasst: 28. September 2007 07:29
von macman
C_R hat geschrieben:QString QDir::currentPath () [static]
Returns the absolute path of the application's current directory.
Also im weitesten Sinne QApplication::applicationDirPath()
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:Wie handhabst du das denn? Auch über QApplication?
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.
Verfasst: 28. September 2007 11:01
von C_R
Ok danke, ich definiere das damit mal als gelöst.