diff options
-rw-r--r-- | include/basic/modsizeexceeded.hxx | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/basic/modsizeexceeded.hxx b/include/basic/modsizeexceeded.hxx index decaae9b07b3..7403b398e777 100644 --- a/include/basic/modsizeexceeded.hxx +++ b/include/basic/modsizeexceeded.hxx @@ -28,6 +28,13 @@ namespace com::sun::star::task { class XInteractionContinuation; } +#if defined(_MSC_VER) +// MSVC automatically applies dllexport to template instantiations if they are a base class +// of a dllexport class, and this template instantiation is a case of that. If we don't +// dllimport here, MSVC will complain about duplicate symbols in a mergelibs build. +template class __declspec(dllimport) cppu::WeakImplHelper< css::task::XInteractionRequest >; +#endif + class UNLESS_MERGELIBS(BASIC_DLLPUBLIC) ModuleSizeExceeded final : public cppu::WeakImplHelper< css::task::XInteractionRequest > { // C++ interface |