无法编译dbus-cxx工具

时间:2016-10-06 19:59:55

标签: c++ dbus

帮助!在提交我的项目使用dbus-cxx时,我可能犯了一个大错。该库似乎已被其作者遗弃,邮件列表对新成员关闭。 这是我的问题:

  1. 没有关于使用dbux-cxx发送或接收由非POD数据组成的dbus消息的文档。显然,期望您将使用dbus-cxx工具从dbus内省XML生成C ++代码。

  2. 这些工具不会编译。

  3. 唯一的支持是通过邮件列表,已被放弃。

  4. 这是编译器错误消息:

    arg.cpp: In member function ‘std::string Arg::stubsignature()’: 
    arg.cpp:84:34: error: no matching function for call to ‘signature(DBus::Type)’
      return DBus::signature( type() );
                                     ^
    

    以下是违规行:

    82: std::string Arg::stubsignature()
    83: {
    84:   return DBus::signature( type() );
    85: }
    86: 
    87: DBus::Type Arg::type()
    88: {
    89:   if ( not signature.is_singleton() ) return DBus::TYPE_INVALID;
    90:   //if ( not signature.begin().is_basic() ) return DBus::TYPE_INVALID;
    91:   return signature.begin().type();
    92: }
    

    从我所看到的,编译器是正确的 - 没有该签名的功能。

    此时,我唯一的选择是将所有内容破解为std :: vector并将其解压缩到另一端。

    任何线索,提示,支持网站链接等都将受到赞赏。 谢谢,

    -Nick

1 个答案:

答案 0 :(得分:0)

从SVN存储库从修订版213回滚到修订版207,删除了有问题的代码。