在linux中生成Gsettings架构文件
我正在使用并拥有在linux中生成Gsettings架构文件,linux,glib,gsettings,Linux,Glib,Gsettings,我正在使用并拥有com.test.gschema.xml文件。现在模式中的一些键是enum,因此我需要com.test.enums.xml文件 现在我使用的是CmakeList,因此不能使用gsettings\u ENUM\u命名空间和gsettings\u ENUM\u文件。在搜索时,我发现我们可以使用该实用程序,但我尝试使用它生成*.enums.xml文件,方法是向它提供具有枚举声明和定义的.c和.h文件,但它所做的只是生成一个没有枚举的空文件。glib mkenums实用程序解析c文件以获
com.test.gschema.xml
文件。现在模式中的一些键是enum,因此我需要com.test.enums.xml
文件
现在我使用的是CmakeList,因此不能使用gsettings\u ENUM\u命名空间和gsettings\u ENUM\u文件。在搜索时,我发现我们可以使用该实用程序,但我尝试使用它生成*.enums.xml文件,方法是向它提供具有枚举声明和定义的.c和.h文件,但它所做的只是生成一个没有枚举的空文件。glib mkenums实用程序解析c文件以获取枚举定义,并且可以用于生成其他文件,通常是用于与GObject一起使用的GType枚举定义的C源文件。同样的实用程序也可以用于生成其他文件类型,如用于GSettings模式的XML 您可以查看GLib提供的
gsettings.m4
宏文件,以获取使用Autotools时宏为您生成的GLib mkenums
咒语:
glib mkenums\
--评论“\
--“头”\
--vhead“\
--vprod“”\
--vtail“”\
--ftail“”\
--输出$output\u文件\
$INPUT_文件
其中,$NAMESPACE
是库的名称空间,将是gsettings\u ENUM\u NAMESPACE
值$INPUT_FILES
包含定义要用作设置值的枚举类型的文件列表;$OUTPUT\u FILE
是您正在生成的XML文件
我建议您阅读
glib mkenums
手册页面,其中列出了所有扩展和选项。谢谢您的回答。实际上我正在使用cmakebuild,我需要调用上面的命令。那么@type@
或@valuenick@的值是什么呢?我尝试了上面的命令,它正在工作。另外,glib mkenums
从传递给它的输入文件中计算出所有@…
的值。