繁体   English   中英

在 linux 中生成 Gsettings 模式文件

[英]Generate Gsettings schema files in linux

我正在使用Gsettings 架构并且有com.test.gschema.xml文件。 现在模式中的一些键是枚举,因此我需要com.test.enums.xml文件。

现在我正在使用 CMakeLists,因此不能使用gsettings_ENUM_NAMESPACEgsettings_ENUM_FILES 在搜索时,我发现我们可以使用glib-mkenums实用程序,但我尝试通过向它提供具有枚举声明和定义的 .c 和 .h 文件来使用它生成 *.enums.xml 文件,但它所做的只是生成一个没有枚举的空文件。

glib-mkenums实用程序解析 C 文件以获取枚举定义,并可用于生成其他文件——通常是用于 GObject 的 GType 枚举定义的 C 源文件。 相同的实用程序还可用于生成其他文件类型,例如 GSettings 架构的 XML。

您可以查看 GLib 提供的gsettings.m4宏文件,以获取在使用 Autotools 时宏为您生成的glib-mkenums咒语:

glib-mkenums \
  --comments '<!-- @comment@ -->' \
  --fhead "<schemalist>" \
  --vhead "  <@type@ id=\'$NAMESPACE.@EnumName@\'>" \
  --vprod "    <value nick=\'@valuenick@\' value=\'@valuenum@\'/>" \
  --vtail "  </@type@>" \
  --ftail "</schemalist>" \
  --output $OUTPUT_FILE \
  $INPUT_FILES

其中$NAMESPACE是你的库的命名空间——并且是gsettings_ENUM_NAMESPACE值; $INPUT_FILES包含定义要用作设置值的枚举类型的文件列表; $OUTPUT_FILE是您生成的 XML 文件。

我建议阅读glib-mkenums手册页,其中列出了所有扩展和选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM