Cc'ing Paolo/Marc-André/Daniel
On 2/9/21 3:54 PM, Kostiantyn Kostiuk wrote:
> The current GLib version implements the DllMain function. DllMain is also
> present in the provider.cpp code. So in the case of static linking, the
> DllMain redefinition error occurs. For now, just switch to dynamic linking
> and revert this patch when the issue will be solved.
>
> See Glib issue for more details https://gitlab.gnome.org/GNOME/glib/-/issues/692
It looks like this was fixed recently, but there are a lot of related discussions:
If I read the old Makefile right, it's a bug we introduced by commit 7272fc7 (meson: convert vss-win32), since glib was in the -shared list.
So it's legitimate to revert it to me:
>
> Signed-off-by: Kostiantyn Kostiuk <konstantin@daynix.com>
> ---
> qga/vss-win32/meson.build | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/qga/vss-win32/meson.build b/qga/vss-win32/meson.build
> index 780c461432..90825edef3 100644
> --- a/qga/vss-win32/meson.build
> +++ b/qga/vss-win32/meson.build
> @@ -1,5 +1,5 @@
> if add_languages('cpp', required: false)
> - glib_static = dependency('glib-2.0', static: true)
> + glib_dynamic = dependency('glib-2.0', static: false)
> link_args = cc.get_supported_link_arguments(['-fstack-protector-all', '-fstack-protector-strong',
> '-Wl,--add-stdcall-alias', '-Wl,--enable-stdcall-fixup'])
>
> @@ -8,7 +8,7 @@ if add_languages('cpp', required: false)
> cpp_args: ['-Wno-unknown-pragmas', '-Wno-delete-non-virtual-dtor', '-Wno-non-virtual-dtor'],
> link_args: link_args,
> vs_module_defs: 'qga-vss.def',
> - dependencies: [glib_static, socket,
> + dependencies: [glib_dynamic, socket,
> cc.find_library('ole32'),
> cc.find_library('oleaut32'),
> cc.find_library('shlwapi'),
>