如何通过 qdbusxml2cpp 在自动生成的绑定代码中添加标头?

Posted

技术标签:

【中文标题】如何通过 qdbusxml2cpp 在自动生成的绑定代码中添加标头?【英文标题】:How to add the header in autogenerated bindings code by qdbusxml2cpp? 【发布时间】:2014-03-25 13:38:17 【问题描述】:

$qdbusxml2cpp -v -c CustomIf -p customif.h:customif.cpp org.item.custom.xml

org.item.custom.xml

<node>
<interface name="org.pace.custom">
<method name="Send_Custom_Msg">
<arg name="msg" type="a(ii)" direction="in"/>
<annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="Message"/>
</method>
<signal name="LateEvent">
<arg name="eventkind" type="s" direction="out"/>
</signal>
</interface>
</node>

如何在生成的适配器customif.h中添加header-message.h?我不想手动添加为#include“message.h”,但实际上希望qdbusxml2cpp添加包含。

【问题讨论】:

$ qdbusxml2cpp -c CustomIfAdaptor -a -i customifadaptor.h:customifadaptor.cpp org.pace.custom.xml 在这个命令中,在哪里添加message.h 【参考方案1】:

使用以下选项:

-i <filename> Add #include to the output

所以,这将是相应的命令:

qdbusxml2cpp -v -i message.h -c CustomIf -p customif.h:customif.cpp org.item.custom.xml

【讨论】:

以上是关于如何通过 qdbusxml2cpp 在自动生成的绑定代码中添加标头?的主要内容,如果未能解决你的问题,请参考以下文章

qdbusxml2cpp 无法正常工作

Qt qdbusxml2cpp 没有输出

qdbusxml2cpp 未知类型

为什么我的线程组列表中有这么多的绑定器和asynctasks?他们是如何管理的?

android小部件中的绑定器事务失败[重复]

如何使用 qt-dbus 将错误返回到 dbus?