Qt qdbusxml2cpp 没有输出

Posted

技术标签:

【中文标题】Qt qdbusxml2cpp 没有输出【英文标题】:Qt qdbusxml2cpp no output 【发布时间】:2020-02-16 20:13:46 【问题描述】:

我想让我的应用程序向 dbus 公开函数。我为我的班级生成了以下 xml:

<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
  <interface name="local.ConnectionController">
    <method name="onSetConnection">
      <arg name="keyname" type="s" direction="in"/>
      <arg name="connected" type="b" direction="in"/>
    </method>
  </interface>
</node>

当我尝试运行 xml2cpp 生成器时,我没有收到任何错误消息,没有输出,进程甚至没有退出。

qdbusxml2cpp -a controller.xml

当使用详细选项时,我也没有得到任何输出。 我正在使用 qdbusxml2cpp 0.8 版。

为什么该工具不执行任何操作?

【问题讨论】:

【参考方案1】:

问题是.xml必须在“-a”选项之前,并将文件名放在“-a”之后:

qdbusxml2cpp controller.xml -a name_of_file

【讨论】:

除了这个答案之外,我还要补充一点,如果您使用 qmake,您可以将 DBUS_ADAPTORS=controller.xml 添加到您的 project.pro,或者您可以在您的 CMakeLists.txt 中使用 QT5_ADD_DBUS_ADAPTOR() 宏更喜欢 cmake。

以上是关于Qt qdbusxml2cpp 没有输出的主要内容,如果未能解决你的问题,请参考以下文章

qdbusxml2cpp 无法正常工作

QT 输出“以代码 0 退出”并且没有显示图像

如何使用 QT 5.2 在 android 上删除发布输出中的调试模式

Qt QProcess::finished() 信号没有这样的插槽

Qt - 如何将 Qt 运行时 DLL 复制到输出路径

QT make 在构建时有很大的输出