解决编译问题#
抑制警告#
生成器将生成一些可能不相关的警告。该 suppress-warning
节点用于抑制指定的警告,且为 typesystem 节点的子节点。
<typesystem>
<suppress-warning text="..." />
</typesystem>
text 属性是要抑制的警告文本,可能包含 * 通配符(如果警告包含实际的 “*”,则使用 “” 来转义正则表达式匹配)。
extra-includes#
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 节点的子节点。
生成器会自动尝试为每种类型读取全局标题。使用包含节点可覆盖该行为,并提供一个替代文件。包含节点还可以用来指定额外的包含文件。
<value-type>
<include file-name="..."
location="global | local"/>
</value-type>
file-name 属性是要包含的文件名,如 “QStringList”。location 属性是文件的位置:global 表示文件位于 $INCLUDEPATH 中,将使用 #include <…> 包含,local 表示文件位于本地目录中,将使用 #include “…” 包含。