解决编译问题¶
抑制警告¶
生成器将生成一些可能与用户无关的警告。suppress-warning 节点用于抑制指定的警告,它是 typesystem 节点的子节点。
<typesystem>
<suppress-warning text="..." />
</typesystem>
text 属性是要抑制的警告文本,可能包含 * 通配符(如果警告包含常规的“*”,请使用“”来转义正则表达式匹配)。
额外包含¶
extra-includes 节点包含额外包含文件的声明,
它可以是 namespace-type、value-type、
object-type 和 typesystem 节点的子节点。
生成器会自动尝试读取每种类型的全局头文件,但有时需要在生成的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-type、value-type、object-type 或 extra-includes 节点的子节点。
生成器会自动尝试读取每种类型的全局头文件。使用include节点来覆盖此行为,提供一个替代文件。include节点也可用于指定额外的包含文件。
<value-type>
<include file-name="..."
location="global | local"/>
</value-type>
file-name 属性是要包含的文件,例如“QStringList”。 location 属性是文件所在的位置:global 表示文件位于 $INCLUDEPATH 中,并将使用 #include <…> 包含, local 表示文件位于本地目录中,并将使用 #include “…” 包含。