mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
meson: Fix plugin symbol export for C++ sources/plugins
The symbol visibility=hidden flag was only being applied to C compilation, so plugins implemented in C++ would leak extra symbols than the 2 _get_desc() and _register(). That also showed that the gst-libs opencv C++ lib was not marking symbols for export correctly because the BUILDING_GST_OPENCV define wasn't in the C++ args, so fix that too.
This commit is contained in:
parent
346bca80af
commit
c0561fb916
2 changed files with 2 additions and 0 deletions
|
@ -17,6 +17,7 @@ if opencv_dep.found()
|
|||
gstopencv = library('gstopencv-' + api_version,
|
||||
opencv_sources,
|
||||
c_args : gst_plugins_bad_args + ['-DBUILDING_GST_OPENCV'],
|
||||
cpp_args : gst_plugins_bad_args + ['-DBUILDING_GST_OPENCV'],
|
||||
include_directories : [configinc, libsinc],
|
||||
version : libversion,
|
||||
soversion : soversion,
|
||||
|
|
|
@ -70,6 +70,7 @@ if cc.get_id() == 'msvc'
|
|||
export_define = '__declspec(dllexport) extern'
|
||||
elif cc.has_argument('-fvisibility=hidden')
|
||||
add_project_arguments('-fvisibility=hidden', language: 'c')
|
||||
add_project_arguments('-fvisibility=hidden', language: 'cpp')
|
||||
export_define = 'extern __attribute__ ((visibility ("default")))'
|
||||
else
|
||||
export_define = 'extern'
|
||||
|
|
Loading…
Reference in a new issue