编写source element的时候发现提示 “undefined symbol: gst_push_src_get_type” , 表面上看就是符号表找不到,那么一定是相应的库没有链接进来,那么就需要知道 gst push src 在哪个包里,通过查询可知 gst_push_src 在 base plugin 里,因此找到 dev 文件
./x86_64-linux-gnu/pkgconfig/gstreamer-base-1.0.pc
观察其内容为:
prefix=/usr
exec_prefix=${prefix}
libdir=${prefix}/lib/x86_64-linux-gnu
includedir=${prefix}/include/gstreamer-1.0
datarootdir=${prefix}/share
datadir=${datarootdir}
girdir=${datadir}/gir-1.0
typelibdir=${libdir}/girepository-1.0
Name: GStreamer base classes
Description: Base classes for GStreamer elements
Requires: gstreamer-1.0
Version: 1.14.5
Libs: -L${libdir} -lgstbase-1.0
Cflags: -I${includedir}
可见如果需要使用 base plugin ,则需要 -lgstbase-1.0 , 因此在我们的cmake里面添加这一个链接选项即可。