C语言 GLib-GIO-ERROR**:系统上未安装任何 GSettings 模式



不幸的是,我使用的是Windows(Windows7 x64)。使用 MinGW 编译器在 Code::Blocks 和 GTK+3.6.4 中。我手动编译了 glib 中的所有模式。


当我使用文件选择器对话框/颜色选择器时 - 没关系,我收到以下错误: GLib-GIO-ERROR**: No GSettings schemas are installed on the system,程序终止。


我该怎么做才能解决这个问题?

> GSettings查看$XDG_DATA_DIR环境变量所指向的目录中的已编译架构。您可以使用启动器脚本为您设置环境,也可以依赖前缀,并将 gschemas.compile 文件安装在与应用程序二进制文件相同的前缀下的 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并找到位于/usr/share/glib-2.0/schemasglib-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_DATA_DIRS : D:\vcpkg\已安装\x64-windows\share

最新更新