流媒体。对“gst_video_overlay_set_window_handle”的未定义引用

Gstreamer. Undefined reference to `gst_video_overlay_set_window_handle'

我正在尝试同时使用 gstreamer 和 Qt5。只是带有 src->sink 的简单应用程序 - 用于在屏幕上显示内容。

这里是一个源代码的例子:

#include <glib.h>
#include <gst/gst.h>
#include <gst/video/videooverlay.h>    

...

WId xwinid = window.winId();
gst_video_overlay_set_window_handle( (GST_VIDEO_OVERLAY (sink)), xwinid);

这里我遇到了下一个错误:

/.../gst_qt/main.cpp:33: error: undefined reference to `gst_video_overlay_set_window_handle'
/.../gst_qt/main.cpp:33: error: undefined reference to `gst_video_overlay_get_type'

我在我的环境中找到了 .c 和 .h“videooverlay”文件,但它看起来很奇怪,header 无法调用源。

在我的 .pro 文件中,我包含了 gstreamer:

# files needed for gstreamer
INCLUDEPATH += /.../usr/include/gstreamer-1.0
INCLUDEPATH += /.../usr/include/glib-2.0
INCLUDEPATH += /.../usr/lib/glib-2.0/include
INCLUDEPATH += /.../usr/lib/gstreamer-1.0

# external libraries
CONFIG += link_pkgconfig
PKGCONFIG += gstreamer-1.0
PKGCONFIG += gobject-2.0
PKGCONFIG += glib-2.0

有人知道这里出了什么问题吗?

您必须添加 GStreamer 的视频库部分,因为您使用的符号仅在其中定义:

PKGCONFIG += gstreamer-video-1.0

编辑:归功于@JarMan,他更快..出于某种原因只是发表评论而不是回答:)