[英]Generate Gsettings schema files in linux
我正在使用Gsettings 架构并且有com.test.gschema.xml
文件。 现在模式中的一些键是枚举,因此我需要com.test.enums.xml
文件。
现在我正在使用 CMakeLists,因此不能使用gsettings_ENUM_NAMESPACE和gsettings_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.