不幸的是,我使用的是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/schemas
的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_DATA_DIRS : D:\vcpkg\已安装\x64-windows\share