我从GitHub上的源代码(1.2.0版)构建了qt。然后,我尝试在Raspberry qmlplayer2上的qt5上运行qt5应用程序(由qt构建并使用qtquick2videosink),但在运行时得到了以下错误:
'/usr/lib/gstreamer-0.10/libgstqt5videosink.so':
(gst-插件-扫描器:3749):GStreamer警告**:未能加载插件/usr/lib/gstreamer-0.10/libgstqt5videosink.so:未定义符号:_Z33gst_qt_quick2_video_sink_get_typev未能创建qtquick2videosink。确保它安装正确。
(qmlplayer2 2:8517):GStreamer关键**:gst_bin_add:断言'GST_IS_ELEMENT (元素)‘失败
(qmlplayer2 2:8517):gst_element_link_pads_filtered:断言'GST_IS_ELEMENT (dest)‘失败的
发布于 2020-02-20 02:12:31
查看qt的源代码,我发现函数gst_qt_quick2_video_sink_get_type()是在gstqtquick2videosink.cpp中实现的,但是由于与OpenGL相关的cmake中缺少配置,所以没有编译这个文件。
I配置cmake如下所示:

然后将新文件libgstqt5videosink.so重新构建并部署到/usr/lib/gStreamer-0.10/libgstqt5visual osink.so目标设备上。在此之后,qmlplayer2应用程序可以正常工作。
https://stackoverflow.com/questions/60311958
复制相似问题