IMX8MINI增加QT的qtmultimedia5.10组件问题解决

平台:imx8mini

软件:linux 

编译:yocto

按NXP文档通过yocto编译出来的系统,在rootfs里,有一部分qtmultimedia的库,但不全,且没有测试用例。所以要增加这个部分的程序库。通过增加编译,放到文件系统里,总是出现:

defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.camera"

这个错误 

通过网络查到的原因是没有安装一个插件,但我这个是嵌入式系统,不能通过安装。所以只能从别的方面来找原因。

通过跟进源码,发现如下:

Got keys from plugin meta data ("audiocapture")
QFactoryLoader::QFactoryLoader() checking directory path "/mnt/sd/mediaservice" ...
QMediaPluginLoader: loading metadata for iid  "org.qt-project.qt.mediaserviceproviderfactory/5.0"  at location  "/mediaservice"
QMediaPluginLoader: Inserted index  0  into metadata:  QJsonObject({"Keys":["gstreameraudiodecode"],"Services":["org.qt-project.qt.audiodecode"],"index":0})
QMediaPluginLoader: Inserting new list for key:  "org.qt-project.qt.audiodecode"
QMediaPluginLoader: Inserted index  1  into metadata:  QJsonObject({"Keys":["gstreamercamerabin"],"Services":["org.qt-project.qt.camera"],"index":1})
QMediaPluginLoader: Inserting new list for key:  "org.qt-project.qt.camera"
QMediaPluginLoader: Inserted index  2  into metadata:  QJsonObject({"Keys":["gstreamermediacapture"],"Services":["org.qt-project.qt.audiosource"],"index":2})
QMediaPluginLoader: Inserting new list for key:  "org.qt-project.qt.audiosource"
QMediaPluginLoader: Inserted index  3  into metadata:  QJsonObject({"Keys":["gstreamermediaplayer"],"Services":["org.qt-project.qt.mediaplayer"],"index":3})
QMediaPluginLoader: Inserting new list for key:  "org.qt-project.qt.mediaplayer"
QMediaPluginLoader: Inserted index  4  into metadata:  QJsonObject({"Keys":["audiocapture"],"Services":["org.qt-project.qt.audiosource"],"index":4})
Cannot load library /usr/lib/qt5/plugins/mediaservice/libgstcamerabin.so: (libQt5MultimediaGstTools.so.5: cannot open shared object file: No such file or directory)
QLibraryPrivate::loadPlugin failed on "/usr/lib/qt5/plugins/mediaservice/libgstcamerabin.so" : "Cannot load library /usr/lib/qt5/plugins/mediaservice/libgstcamerabin.so: (libQt5MultimediaGstTools.so.5: cannot open shared object file: No such file or directory)"
defaultServiceProvider::requestService(): plugins.isEmpty()
 - true
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.camera"
QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/qt5/plugins/wayland-graphics-integration-client" ...
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/wayland-graphics-integration-client/libqt-plugin-wayland-egl.so"
Found metadata in lib /usr/lib/qt5/plugins/wayland-graphics-integration-client/libqt-plugin-wayland-egl.so, metadata=
 

 

上面的信息里:

libQt5MultimediaGstTools.so.5: cannot open shared

这个提示很重要,在文件系统里确定没查到,去编译完成的找到了文件,补进去。

这个问题就解决了。

经验:跟进源码,才能从根本处解决问题。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九世坛主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值