我正在尝试监视正在通过QtGstreamer 管道的消息。
下面是所讨论的代码:
//pipeline is of type: QGst::PipelinePtr
pipeline->bus()->enableSyncMessageEmission();
QGlib::connect(pipeline->bus(), "sync-message", this, &MyClass::_msg_handler);但是QtCreator抱怨connect()
/usr/include/QtGStreamer/QGlib/connectimpl.h:-1: In function
‘bool QGlib::connect(void*, const char*, T*, R (T::*)(A0), QGlib::ConnectFlags)
[with T = MyClass, R = void, A0 = const QGlib::RefPointer<QGst::Message>&,
QGlib::ConnectFlags = QFlags<QGlib::ConnectFlag>]’:
/usr/include/QtGStreamer/QGlib/connectimpl.h:330: error: invalid initialization
of reference of type ‘const QGlib::Private::DestroyNotifierIfacePtr&’ from
expression of type ‘QGlib::Private::GetDestroyNotifier<MyClass, void>’
/usr/include/QtGStreamer/QGlib/connect.h:259: error: in passing argument 5 of
‘ulong QGlib::Private::connect(void*, const char*, QGlib::Quark, void*, const
QGlib::Private::DestroyNotifierIfacePtr&, uint, QGlib::Private::ClosureDataBase*,
QGlib::ConnectFlags)’可能是什么原因?
发布于 2011-11-22 18:15:12
解决了问题。
在我的例子中,connect()中指定的回调是我编写的类中的一个方法,所以问题是MyClass需要从QObject继承
class MasterSink : public QObject
{
// ...
}https://stackoverflow.com/questions/8227378
复制相似问题