diff --git a/src/gstreamer/meson.build b/src/gstreamer/meson.build
index 1965b5041132..1b9dedd2528e 100644
--- a/src/gstreamer/meson.build
+++ b/src/gstreamer/meson.build
@@ -12,8 +12,9 @@ libcamera_gst_c_args = [
     '-DVERSION="@0@"'.format(libcamera_git_version),
     '-DPACKAGE="@0@"'.format(meson.project_name()),
 ]
+libcamera_gst_cpp_args = []
 
-glib_dep = dependency('glib', required : get_option('gstreamer'))
+glib_dep = dependency('glib-2.0', required : get_option('gstreamer'))
 
 gst_dep_version = '>=1.14.0'
 gstvideo_dep = dependency('gstreamer-video-1.0', version : gst_dep_version,
@@ -27,12 +28,13 @@ if glib_dep.found() and gstvideo_dep.found() and gstallocator_dep.found()
     # complain about the ones we are not using. Silence the -Wunused-function
     # warning in that case.
     if cc.get_id() == 'clang' and glib_dep.version().version_compare('<2.63.0')
-        libcamera_gst_c_args += [ '-Wno-unused-function' ]
+        libcamera_gst_cpp_args += [ '-Wno-unused-function' ]
     endif
 
     libcamera_gst = shared_library('gstlibcamera',
         libcamera_gst_sources,
         c_args : libcamera_gst_c_args,
+        cpp_args : libcamera_gst_cpp_args,
         dependencies : [libcamera_dep, gstvideo_dep, gstallocator_dep],
         install: true,
         install_dir : '@0@/gstreamer-1.0'.format(get_option('libdir')),
