GLib-GIO-ERROR **:系统上没有安装GSettings模式

时间:2015-03-10 00:00:14

标签: c gtk mingw gtk3

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


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


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

3 个答案:

答案 0 :(得分:8)

GSettings查看$XDG_DATA_DIR环境变量指向的目录中的已编译模式。您可以使用为您设置环境的启动器脚本,也可以依赖前缀,并在share/glib-2.0/schemas目录中以与应用二进制文件相同的前缀安装gschemas.compiled文件,例如:如果您有以下布局:

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也在那里。

答案 1 :(得分:5)

问题在于Glib架构显然没有在您的系统上编译。

您需要glib-compile-schemas并找到位于glib-2.0/schemas的{​​{1}}目录,我不知道它是否会在MinGW内的同一路径中找到,但我不知道不明白为什么它不会,所以你必须执行以下命令 1

/usr/share/glib-2.0/schemas

这将创建一个文件glib-compile-schemas /usr/share/glib-2.0/schemas/ ,因此您需要写入权限,然后错误就会消失。


1 前提是GLib模式安装在该目录中。

答案 2 :(得分:0)

我可以从以下文档中解决这个问题,如下所示 https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html 在我的情况下,将环境变量添加到类似于下面的共享文件夹

XDG_DATA_DIRS : D:\vcpkg\installed\x64-windows\share