解决编译问题

抑制警告

生成器将生成一些可能与用户无关的警告。suppress-warning 节点用于抑制指定的警告,它是 typesystem 节点的子节点。

<typesystem>
    <suppress-warning text="..." />
</typesystem>

text 属性是要抑制的警告文本,可能包含 * 通配符(如果警告包含常规的“*”,请使用“”来转义正则表达式匹配)。

额外包含

extra-includes 节点包含额外包含文件的声明, 它可以是 namespace-typevalue-typeobject-typetypesystem 节点的子节点。

生成器会自动尝试读取每种类型的全局头文件,但有时需要在生成的C++代码中包含额外的文件,以确保代码能够编译。这些文件必须使用extra-include节点内的include节点列出:

<value-type>
    <extra-includes>
        <include file-name="..." location="global | local"/>
    </extra-includes>
</value-type>

file-name 属性是要包含的文件,例如“QStringList”。 location 属性是文件所在的位置:global 表示文件位于 $INCLUDEPATH 中,并将使用 #include <…> 包含, local 表示文件位于本地目录中,并将使用 #include “…” 包含。

当指定为typesystem节点的子节点时,include指令会被添加到包含类型转换器和注册代码的模块源文件中。它可以用于指定转换器代码片段所需的额外包含。

包含

include 节点指定了必须包含的文件名称和位置,它是 namespace-typevalue-typeobject-typeextra-includes 节点的子节点。

生成器会自动尝试读取每种类型的全局头文件。使用include节点来覆盖此行为,提供一个替代文件。include节点也可用于指定额外的包含文件。

<value-type>
    <include file-name="..."
        location="global | local"/>
</value-type>

file-name 属性是要包含的文件,例如“QStringList”。 location 属性是文件所在的位置:global 表示文件位于 $INCLUDEPATH 中,并将使用 #include <…> 包含, local 表示文件位于本地目录中,并将使用 #include “…” 包含。