Qt 应用程序未定义对 `gst_app_src_push_buffer' 的引用

问题描述 投票:0回答:2

我正在创建一个 Qt 应用程序,它将显示一个或多或少基于以下代码的视频: https://gist.github.com/floe/e35100f091315b86a5bf

当我在 C 文件中运行它时,它正在工作,但是当我尝试将其移动到我的 Qt 应用程序时,我得到对“gst_app_src_push_buffer”的未定义引用(和“collect2:错误:ld 返回 1 退出状态”) .

但是在我使用的“模板”中提到的所有方法中,这是我唯一的错误。

一些信息:

*.pro 文件:

  • CONFIG += c++11 link_pkgconfig
  • PKGCONFIG += gstreamer-1.0 glib-2.0 gobject-2.0
  • LIBS += -L/usr/lib/x86_64-linux-gnu/gstreamer-1.0/-lgstapp

包括:

  • #include "/usr/include/glib-2.0/glib.h"
  • #include <gst/gst.h>
  • #include <gst/app/gstappsrc.h>
  • #include <QCoreApplication>
  • #include <QMainWindow>
  • #include <QApplication>

编译输出:


/home/ido/Qt/5.15.0/gcc_64/bin/qmake -o Makefile ../gstest/gstest.pro -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug
g++ -Wl,-rpath,/home/ido/Qt/5.15.0/gcc_64/lib -o gstest main.o mainwindow.o moc_mainwindow.o   -L/usr/lib/x86_64-linux-gnu/gstreamer-1.0/ -lgstapp -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 /home/ido/Qt/5.15.0/gcc_64/lib/libQt5Widgets.so /home/ido/Qt/5.15.0/gcc_64/lib/libQt5Gui.so /home/ido/Qt/5.15.0/gcc_64/lib/libQt5Core.so -lGL -lpthread   
mainwindow.o: In function `prepare_buffer(_GstAppSrc*)':
/home/ido/build-gstest-Desktop_Qt_5_15_0_GCC_64bit-Debug/../gstest/mainwindow.cpp:62: undefined reference to `gst_app_src_push_buffer'
Makefile:287: recipe for target 'gstest' failed
collect2: error: ld returned 1 exit status
make: *** [gstest] Error 1
17:46:32: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project gstest (kit: Desktop Qt 5.15.0 GCC 64bit)
When executing step "Make"


任何帮助将不胜感激。

c++ linux qt gstreamer
2个回答
4
投票

gstapp
可能不存在该名称。也使用
pkg-config
来实现:

PKGCONFIG += gstreamer-1.0 gstreamer-app-1.0 glib-2.0 gobject-2.0

1
投票

只需添加以下内容:

LIBS += lgstapp-1.0
© www.soinside.com 2019 - 2024. All rights reserved.