我正在使用 Qt 在 linux 构建机器上扩展 DBus 接口。现有界面工作正常,我需要添加另一个参数
XML生成方法生成为:
<method name="get_card_info">
<arg type="b" name="success" direction="out" />
<arg type="s" name="version" direction="out" />
<arg type="s" name="serial" direction="out" />
<arg type="s" name="BeginDate" direction="out" />
<arg type="s" name="ExpirationDate" direction="out" />
<arg type="s" name="RenewalDate" direction="out" />
<arg type="s" name="ZipCode" direction="out" />
<arg type="s" name="ZipCodeExtension" direction="out" />
<!-- <arg type="u" name="cardStatus" direction="out" /> -->
</method>
代码工作正常,直到我取消注释掉注释行,此时 qdbusxml2cpp 报告:
interface_dbus_p.h:39:103: error: wrong number of template arguments (9, should be 8)
即使我注释掉对此函数的所有调用也是如此;确实这是在链接代码甚至被编译之前;这全部来自qdbusxml2cpp调用。
如果我将其更改为六个、七个或八个项目,XML 将编译,但如果我将其增加到九个它会崩溃。
除了 XML 代码,我没有更改任何其他配置文件。
怎么了?是否有八个参数的限制?