2015-03-10 16 views
5

Ne yazık ki, Windows (Windows7 x64) kullanıyorum. Code :: Blocks ve GTK + 3.6.4'te MinGW derleyicisi ile. Tüm şemaları glib'den manuel olarak derledim.GLib-GIO-ERROR **: Sistem üzerinde hiçbir GSettings şeması yüklü değil


Ben Dosya Seçici diyalog/colorpicker kullandığınızda - farketmez, aşağıdaki hatayı alıyorum: ve program sonlanır GLib-GIO-ERROR**: No GSettings schemas are installed on the system.


Bunu düzeltmek için ne yapmam gerekiyor?

cevap

3

Sorun, sisteminizde derlenmeyen Glib şemalarıyla ilgilidir.

Sen glib-compile-schemas ihtiyaç ve /usr/share/glib-2.0/schemas bulunan glib-2.0/schemas dizini bulmak, bu MinGW içinde aynı yolu bulunacaktır eğer bilmiyorum, ama ben görmüyorum neden olmaz, bu yüzden aşağıdaki komutu

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

yürütmek gerekiyor ve bu gschemas.compiled böylece yazma izni gereken bir dosya oluşturur, daha sonra hata gidecektir.


GLib şemalar bu dizinde yüklü koşuluyla.

+0

Çünkü Windows'a diğer kullanıcılara takıldım. Bu arada, zaten bunları başarıyla derlediğimi zaten belirtmiştim .. zaten zaten paket içinde derlenmiş olsalar (yani 'gschemas.compiled' zaten var) – DeltaProxy

+0

Bunu bir derleme veya' .gschema için arama .xml dosyası eksik olan şemaya karşılık gelir ve başarılı bir şekilde derlenip derlenmediğini veya hiç derlenmediğini kontrol eder. –

+0

Peki, ilk olarak iki farklı 'gschemas.compiled' denedim, varsayılan olarak (bir bundle'ın 3. tarafına bağlı olarak) ve diğeri tarafından elle derlenen bir derleme. Gerçi .. Ben 'gsettings 'kullanırken çökme neden oldu, çünkü' 'gtl2' bin '' intl.dll' kullanmak gerekiyordu. Diğer yandan, ne düşündüğün hakkında hiçbir fikrim yok. – DeltaProxy

6

GSettings, $XDG_DATA_DIR ortam değişkeninin işaret ettiği dizinlerdeki derlenmiş şemalara bakar. Ya da ortamı sizin için ayarlayan bir başlatıcı komut dosyası kullanabilir veya öneklere güvenebilir ve gschemas.compiled dosyalarını share/glib-2.0/schemas dizinine, uygulama ikili dosyanızla aynı önek altında yükleyebilirsiniz. Aşağıdaki düzeni varsa:

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

gschemas.compiled dosya YourApp/share/glib-2.0/schemas altında olduğundan emin olun ve org.gtk.Settings.FileChooser.gschema.xml onu da vardır.

+0

Hiçbir zaman tam olarak bu değişkenle ilgili olan şeyi anlayamadım. Gelişmiş Sistem Ayarları'ndan "XDG_DATA_DIR" ve "D: \ apps \ gtk \ share \ glib-2.0 \ schemas" değerleriyle ayarlayabildiğim bu sistem ortamı değişkeni de Programlarımı statik olarak derlemeyi hedefliyorum. – DeltaProxy

+1

'XDG_DATA_DIR' ortam değişkeni, dosyaların yollarını hesaplamak için kullanılan azalan tercih sırasına göre, kolonlarla ayrılmış bir dizin listesidir. Bkz. Http://standards.freedesktop.org/basedir-spec/basedir-spec-latest .html – ebassi

+1

Bir kenara göre: GLib ve GTK +, çeşitli çalışma zamanı yüklenebilir modüllerde olduğu gibi, ya da bunlara bağlı olarak çok fazla statik olarak derlenmemeyi sevmezler. Çoğu için yükleme yollarını değiştirebilirsiniz. Bu durumda, bir dosyanın yüklenmesi statik veya dinamik bağlantıya sahip değildir. Yardımcı dosyalar için bir konum ve yeniden yüklenebilirliği işlemek için ortam değişkenlerini kullanabilirsiniz. – ebassi

İlgili konular