GTK-Umgebung verteilen



  • Tag zusammen.

    Es geht um folgendes: Ich habe eine Anwendung in C++ mit Hilfe von GTKmm entwickelt. Mein Problem ist, dass ich eine einfache Variante suche, die Libraries mit einem Setup zu verteilen.

    Unter Linux-Distributionen mit Paketmanager ist das weniger ein Problem. Die lösen meist die Abhängigkeiten selbst auf (bzw. so von mir eingerichtet :)). Für Windows habe ich ein Paket zusammen geschnürrt, das ein Mal die Software selbst, GTKmm und GTK+ enthält.

    Blöd ist aber, dass GTK sich per Default außerhalb der Systemverzeichnisse bewegt und daher die PATH-Variable anpasst. Das ist für Anwender relativ dämlich, weil das mindestens einen (unnötigen) Neustart mit sich zieht. Meine Frage ist jetzt, ob es unter Windows eine einfachere Möglichkeit gibt, die Libs zu installieren?

    Gruß,
    Stefan



  • Das ist für Anwender relativ dämlich, weil das mindestens einen (unnötigen) Neustart mit sich zieht.

    Stimmt doch gar nicht.



  • Also ich kann mich auch nicht daran erinnern, den Windows-PC neu starten zu müssen, wenn ich mir die offizielle gtkmm-Runtimes installiert habe.

    Was willst du denn genau machen? gtk+ und gtkmm direkt in deinem Installer mit deployen? Dann muß doch nichts installiert werden! Da reicht es, wenn die DLLs in dem gleichen Verzeichnis liegen, wie deine EXE. Schau dir mal als Beispiel Gnucash an, die machen das auch so.



  • hmmmmmmm?:
    Ich denke ja.. GTK installiert per Default nicht in Systemverzeichnisse, die vom Betriebssystem nach Bibliotheken durchsucht werden. Daher wird ja auch die PATH-Variable angepasst (u.A. auf %GTKPATH%\bin). Und Windows übernimmt diese Einstellungen nicht sofort (nach meiner Erfahrung), sondern nach einem Neustart, vielleicht aber auch "nur" einem Re-Login (nicht ausprobiert).

    Artchi:
    Ich hatte mir darüber ähnliche Gedanken gemacht. Es wäre für meine Applikation auch völlig ausreichend gewesen. Allerdings missfällt mir der Gedanke, Bibliotheken, die u.U. von mehreren Instanzen genutzt werden könnten, ins Verzeichnis meines Programms zu kopieren. Redundanz halt. 🙂 Im idealsten Falle wird sowas einfach in das Systemverzeichnis von Windows kopiert, damit es allen Anwendungen zur Verfügung steht. Allerdings gab es da Probleme mit diversen Pango-Einstellungen (ich meine mich an Modules-Einstellungen zu erinnern), auf die ich so schnell keine passable Lösung wusste.

    Daher dachte ich, dass jemand einen Tipp hätte, wie man das so lösen könnte. Ich wundere mich eigentlich, dass der GTK/GTKmm-Installer nicht genau dafür sorgt, schließlich ist das unter Windows doch eigentlich so üblich.

    Eine andere Idee war, den Krempel statisch in die Binary zu linken. Hier stört mich aber, dass diese dann enorm groß wird -- auch nicht unbedingt Sinn der Sache.

    Nunja, ich werde mich vorübergehend damit zufrieden geben, die Bibliotheken ins Programmverzeichnis zu installieren. 😉 Aber falls jemand noch den ultimativen Tipp hat, würd's mich schon freuen. 🙂


Anmelden zum Antworten