GLib-GIO-ERROR**: в системе не установлены схемы GSettings

К сожалению, я использую Windows (Windows7 x64). С компилятором MinGW в Code::Blocks и GTK+3.6.4. Я вручную скомпилировал все схемы из glib.


Когда я использую File Chooser dialog / colorpicker - это не имеет значения, я получаю следующую ошибку:GLib-GIO-ERROR**: No GSettings schemas are installed on the system и программа завершается.


Что мне нужно сделать, чтобы это исправить?

3 ответа

GSettings просматривает скомпилированные схемы в каталогах, указанных $XDG_DATA_DIR переменная окружения. Вы можете использовать сценарий запуска, который настраивает среду для вас, или вы можете положиться на префикс и установить файлы gschemas.compiled в share/glib-2.0/schemas каталог с тем же префиксом, что и бинарный файл вашего приложения, например, если у вас следующий макет:

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

Убедитесь, что gschemas.compiled файл находится под YourApp/share/glib-2.0/schemasи что org.gtk.Settings.FileChooser.gschema.xml там тоже.

Проблема в схемах Glib, которые, очевидно, не скомпилированы в вашей системе.

Вам нужно glib-compile-schemas и найти glib-2.0/schemas каталог, который находится в /usr/share/glib-2.0/schemasЯ не знаю, будет ли он найден по тому же пути в MinGW, но я не понимаю, почему это не так, поэтому вы должны выполнить следующую команду1

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

и это создаст файл gschemas.compiled так что вам нужно разрешение на запись, тогда ошибка исчезнет.


1При условии, что схемы GLib установлены в этом каталоге.

Я мог бы решить эту проблему из следующей документации, как ниже показаноhttps://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html следующей переменной среды для общих папок, аналогичных приведенным ниже в моем случае

КАТАЛОГИ_ДАННЫХ_XDG: D:\vcpkg\ installed \x64-windows\ share

Другие вопросы по тегам