Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在linux中生成Gsettings架构文件_Linux_Glib_Gsettings - Fatal编程技术网

在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
从传递给它的输入文件中计算出所有
@…
的值。