【发布时间】:2016-10-06 19:59:54
【问题描述】:
帮助!在提交我的项目以使用 dbus-cxx 时,我可能犯了一个巨大的错误。该图书馆似乎已被其作者遗弃,并且邮件列表对新成员关闭。 这是我的问题:
没有关于使用 dbux-cxx 发送或接收由非 POD 数据组成的 dbus 消息的文档。显然期望您将使用 dbus-cxx 工具从 dbus introspection XML 生成 C++ 代码。
工具无法编译。
唯一的支持是通过邮件列表,已被放弃。
这是编译器错误信息:
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 并在另一侧提取它。
任何线索、提示、支持网站的链接等都将不胜感激。 谢谢,
-尼克
【问题讨论】: