【问题标题】:convert xml to cpp with qdbusxml2cpp get error unknow type (uu)使用 qdbusxml2cpp 将 xml 转换为 cpp 得到错误未知类型 (uu)
【发布时间】:2016-09-27 03:19:04
【问题描述】:

我在 Qt 中使用 qbusxml2cpp 工具将 xml 转换为 cpp 类。我使用下面的命令来转换一个名为 nm-device.xml 的 xml 文件(我从网络管理器包 v0.9.8.8 中获取这个 xml 文件)

qdbusxml2cpp -v -c Devices -p Devices.h:Devices.cpp nm-device.xml 

但我得到错误,这是输出:

Got unknown type `(uu)' 你应该在 XML 描述中添加 name="org.qtproject.QtDBus.QtTypeName" value=""/>

我也在谷歌上搜索过,我知道 (uu) 是一个结构,我需要将下面的行添加到 xml 文件中

name="org.qtproject.QtDBus.QtTypeName" value=""/>

问题是在我的情况下我应该使用什么类型?

【问题讨论】:

    标签: qt qdbusxml2cpp


    【解决方案1】:

    我认为没有专门封装两个 uint32 字段的 Qt 类型,因此您可能必须创建自定义类型并注册它。

    您可以在https://techbase.kde.org/Development/Tutorials/D-Bus/CustomTypes#Edit_the_XML 处查看教程的那一部分,它正在注册一个名为“Message”的自定义类型并相应地修改 XML 文件。

    【讨论】:

      【解决方案2】:

      我刚刚找到了我的解决方案。它是

      <annotation name="org.qtproject.QtDBus.QtTypeName" value="DeviceDBusStateReason"/>
      

      【讨论】:

        猜你喜欢
        • 2014-04-10
        • 1970-01-01
        • 1970-01-01
        • 2016-09-16
        • 1970-01-01
        • 1970-01-01
        • 2016-03-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多