Sample Plugin Created from gst-plugin Boilerplate Wont Compile

vincent911001 vincent.sin.chiax.tan at intel.com
Thu Mar 26 06:53:35 UTC 2020


Hi guys,

I have followed the instruction available in Plugin Development Basics in
constructing the boilerplate for my sample plugin.

../tools/make_element HelloWorld

After that, I have modified the meson.build in gst-plugin directory to
include the generated source files namely /gsthelloworld.h/ and
/gsthelloworld.c/

helloworld_sources = [
  'src/gsthelloworld.c'
  ]

gsthelloworld = library('gsthelloworld',
  helloworld_sources,
  c_args: plugin_c_args,
  dependencies : [gst_dep],
  install : true,
  install_dir : plugins_install_dir,
)

I encountered errors after doing /meson build && ninja -C build/:
gst-template/build/../gst-plugin/src/gsthelloworld.c:184: undefined
reference to `GST_HELLOWORLD'

**there are multiple lines of the same errors happen at different part of
the source file.

I cant seem to find the declaration of *GST_HELLOWORLD* in either source
files.
Looking at the tutorial in 
https://gstreamer.freedesktop.org/documentation/plugin-development/basics/boiler.html?gi-language=c
<https://gstreamer.freedesktop.org/documentation/plugin-development/basics/boiler.html?gi-language=c> 
.
I can see that there would be a declaration of macro that follows the
similar naming convention with mine being HelloWorld while the provided
sample being MyFilter.
/#define GST_MY_FILTER(obj) \
  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_MY_FILTER,GstMyFilter))/

However, I see none of the macro in the generated source files. So, I guess
it might have been written at somewhere as the template provided in form of
/gstplugin.c/ and /gstplugin.h/ looks very similar to the generated source
files and can be compiled successfully if I remove my sample plugin from the
build file.

Thus, is there any step I miss that is relevant for the compilation?
Thanks.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list