2016-05-16 7 views
0

Ich muss ein-Datei (.exe) Programm erstellen. In diesem Programm kann Benutzer Verzeichnis von seinem Computer wählen.Wie mit FileChooser in GTK mit der statischen Kompilierung umgehen

Ich erstelle Programm in der Reihenfolge http://www.tarnyko.net/en/?q=node/31 und es läuft gut.

Aber wenn ich FileChoser aufrufen (klicken Sie auf die Schaltfläche) Ich habe diesen Fehler

GLib-GIO-ERROR No GSettings schemas are installed on the system 

Antwort von Tarnyko zu diesem Thema in coment auf der Webseite ist - dies ist bekannt, „Bug“ mit statischen Compilierung.

Wie kann ich das umgehen?

Auf der einen Seite muss ich one-file.exe haben. Auf der anderen Seite möchte ich wirklich nicht "anspruchsvolle" FileChooser auf eigene Faust erstellen ... gibt es eine Option, damit umzugehen?

Meine Ideen: 1 - Aufruf nativer Dateiauswahl von Betriebssystem (Windows) 2 - Dateiauswahl auf meinem eigenen erstellen - wenn es nicht „viel harten“ in gtk

Ich weiß nicht, wie zu tun entweder davon.

Sorry für die Duplizieren - wahrscheinlich succes Lösung in Antwortformular „ebassi“ hier ist GLib-GIO-ERROR**: No GSettings schemas are installed on the system (noch nicht getestet)

+0

[Dies ist, was Google für Sie tun könnte] (https://www.google.it/search?q=GLib-GIO-ERROR+No+GSettings+schemas+sind+auf+dem+System&oq=installiert GLib-GIO-ERROR + Nein + GSettings + Schemata + sind + installiert + auf + das + System & aqs = chrome..69i57j0l5.415j0j7 & sourceid = chrome & es_sm = 122 & ie = UTF-8) – LPs

+0

Statische Kompilierung von GTK + wird explizit nicht unterstützt, also "Bugs" "Sie sehen, dass das Ergebnis einer nicht unterstützten Konfiguration ist. Um dies zu sagen, kompiliere dein statisches GLib neu, damit GSettings nicht nach Schemas auf dem Dateisystem oder so etwas sucht. Ich bin mir nicht sicher, ob das überhaupt möglich ist ... Möglicherweise müssen Sie GTK + neu kompilieren, um sein Schema als Teil der .a-Datei einzubetten. – andlabs

+0

@andlabs, Hätten Sie etwas dagegen, eine Quelle dafür anzugeben, dass sie explizit nicht unterstützt wird? Nicht weil ich denke, dass du falsch liegst, aber ich war neugierig auf die Gründe. – Blake

Antwort

1

Einstellungen Schemata (die an mehr Orten in GTK verwendet werden, als nur die Dateiauswahl-Widget) kann nicht statisch sein verlinkt in eine Binärdatei: Sie müssen an einem bekannten Ort installiert werden (steuerbar über die Umgebungsvariable $XDG_DATA_DIRS) und sie müssen in einen Cache kompiliert werden.

GTKs Abhängigkeiten wie Pango und GDK-Pixbuf verwenden auch Zusatzdateien und ladbare Module, die nicht streng kompatibel sind (es sei denn, Sie sind bereit, Zeit damit zu verbringen) mit statischer Verknüpfung.

Die übliche Empfehlung, nur eine einzige ausführbare Datei für Ihre Anwendung bereitzustellen, ist ein selbstextrahierendes Installationsprogramm, das alle für die Ausführung einer GTK-Anwendung erforderlichen Dateien enthält und statische Verknüpfungen verhindert.