2015-03-10 8 views
5

Sfortunatamente, sto usando Windows (Windows7 x64). Con il compilatore MinGW in Code :: Blocks e GTK + 3.6.4. Ho compilato manualmente tutti gli schemi da glib.GLib-GIO-ERROR **: No schemi GSettings installati sul sistema


quando uso File dialogo Chooser/colorpicker - non importa, sto ottenendo il seguente errore: GLib-GIO-ERROR**: No GSettings schemas are installed on the system e il programma termina.


Cosa devo fare per risolvere questo problema?

risposta

3

Il problema è con gli schemi di Glib che apparentemente non sono stati compilati sul tuo sistema.

è necessario il glib-compile-schemas e trovare la directory glib-2.0/schemas che si trova a /usr/share/glib-2.0/schemas, non so se si troverà nello stesso percorso all'interno di MinGW, ma non vedo perché non dovrebbe, in modo da deve eseguire il seguente comando

glib-compile-schemas /usr/share/glib-2.0/schemas/ 

e che creerà un file gschemas.compiled quindi è necessario scrivere il permesso, quindi l'errore andrà via.


A condizione che gli schemi GLib sono installati in tale directory.

+0

Perché sono bloccato a Windows così come molti altri utenti. A proposito, ho già detto che li ho compilati con successo .. anche se sono già compilati nel bundle (es. 'Gschemas.compiled' esiste già) – DeltaProxy

+0

Cancellalo e ricompililo, o cerca' .gschema .xml' corrispondente allo 'schema' mancante e controlla se è stato compilato con successo o se è stato compilato del tutto. –

+0

Beh, ho provato con due diversi 'gschemas.compiled' il primo, che è compilato di default (come il terzo dipendente di un bundle) e l'altro, compilato manualmente da me. Però .. Avevo bisogno di usare 'intl.dll' dal cestino di gtk2, perché non esisteva e questo ha causato crash quando si utilizza' gsettings'. D'altra parte non ho idea di cosa ti chieda di controllarti. – DeltaProxy

6

GSettings analizza gli schemi compilati nelle directory puntate dalla variabile di ambiente $XDG_DATA_DIR. Puoi utilizzare uno script di avvio che imposta l'ambiente per te oppure puoi fare affidamento sul prefisso e installare i file gschemas.compiled nella directory share/glib-2.0/schemas con lo stesso prefisso del binario dell'app, ad es. se si ha la seguente disposizione:

YourApp/ 
    bin/ 
    YourApp.exe 
    lib/ 
    libgtk3.dll 
    libgobject.dll 
    … 
    share/ 
    … 
    glib-2.0/ 
     schemas/ 

Assicurarsi che il file è in fase di gschemas.compiledYourApp/share/glib-2.0/schemas, e che il org.gtk.Settings.FileChooser.gschema.xml è anche lì.

+0

Non ho mai capito esattamente la cosa con quella variabile. È questa variabile di ambiente di sistema che posso impostare da Impostazioni di sistema avanzate con il nome 'XDG_DATA_DIR' e il valore di' D: \ apps \ gtk \ share \ glib-2.0 \ schemas' Inoltre sto mirando a compilare staticamente i miei programmi. – DeltaProxy

+1

La variabile di ambiente 'XDG_DATA_DIR' è un elenco di directory separate da due punti, in ordine decrescente di preferenza, utilizzato per calcolare i percorsi per i file - consultare: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest .html – ebassi

+1

Per inciso: GLib e GTK + non amano essere compilati staticamente, come hanno, o dipendono, da vari moduli caricabili in fase di esecuzione. È possibile modificare i percorsi di caricamento per la maggior parte di essi. In questo caso, tuttavia, il caricamento di un file non ha alcuna influenza sul collegamento statico o dinamico. È un percorso per i file secondari e puoi utilizzare le variabili di ambiente per gestire la ricollocabilità. – ebassi

Problemi correlati