[gelöst] Umgebungsvariablen Linux

Alles rund um die Programmierung mit Qt
Antworten
C_R
Beiträge: 129
Registriert: 25. April 2007 15:12

[gelöst] Umgebungsvariablen Linux

Beitrag 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?
Zuletzt geändert von C_R am 28. September 2007 11:01, insgesamt 1-mal geändert.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Die Umgebungen sind halt verschieden. Worum geht es denn genau?
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.
CaptnChaos
Beiträge: 605
Registriert: 28. Juni 2007 15:01
Kontaktdaten:

Beitrag von CaptnChaos »

@macman: Wie war das mac? Wenn man keine Ahnung hat, einfach mal... :wink:

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.
C_R
Beiträge: 129
Registriert: 25. April 2007 15:12

Beitrag 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..
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag 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.
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.
C_R
Beiträge: 129
Registriert: 25. April 2007 15:12

Beitrag von C_R »

nein ich rede von

QDir::currentPath() zum Beispiel. Und von Windows habe ich nichts geschrieben.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag 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.
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.
C_R
Beiträge: 129
Registriert: 25. April 2007 15:12

Beitrag 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?
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag 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.
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.
C_R
Beiträge: 129
Registriert: 25. April 2007 15:12

Beitrag von C_R »

Ok danke, ich definiere das damit mal als gelöst.
Antworten