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